From 4efcd55cef3821acd8f445aad8a876a2de4ed9f7 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Mon, 22 Mar 2010 23:18:42 +0000 Subject: [PATCH] Fix Track/Waypoint Layer Paste on 64bit systems. Use correct types in g_file_get_contents function call, otherwise on 64bit systems it can overwrite other data leading to program crashes. --- src/viktrwlayer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/viktrwlayer.c b/src/viktrwlayer.c index 5d961438..4c42fa9c 100644 --- a/src/viktrwlayer.c +++ b/src/viktrwlayer.c @@ -675,8 +675,10 @@ static VikLayerParamData trw_layer_get_param ( VikTrwLayer *vtl, guint16 id ) static void trw_layer_marshall( VikTrwLayer *vtl, guint8 **data, gint *len ) { - guint8 *pd, *dd; - gint pl, dl; + guint8 *pd; + gchar *dd; + gsize dl; + gint pl; gchar *tmpname; FILE *f; @@ -687,7 +689,7 @@ static void trw_layer_marshall( VikTrwLayer *vtl, guint8 **data, gint *len ) vik_layer_marshall_params(VIK_LAYER(vtl), &pd, &pl); fclose(f); f = NULL; - g_file_get_contents(tmpname, (void *)&dd, (void *)&dl, NULL); + g_file_get_contents(tmpname, &dd, &dl, NULL); *len = sizeof(pl) + pl + dl; *data = g_malloc(*len); memcpy(*data, &pl, sizeof(pl)); -- 2.39.5