diff options
author | Christian Persch <chpe@gnome.org> | 2012-01-13 00:29:38 +0100 |
---|---|---|
committer | Christian Persch <chpe@gnome.org> | 2012-01-13 00:29:38 +0100 |
commit | 793684eedda01272dda744bfbbaaedd875b30711 (patch) | |
tree | 5c70ad8e47afdc7821f23b15edde004f12bf7803 | |
parent | ebd0d1a02aeeb57c64d8e0daf5f37ff4a35f116b (diff) | |
download | librsvg-793684eedda01272dda744bfbbaaedd875b30711.tar.gz |
Plug a mem leak
==25857== 64 bytes in 1 blocks are definitely lost in loss record 106 of 145
==25857== at 0x402AD89: malloc (vg_replace_malloc.c:236)
==25857== by 0x45CDD4A: standard_malloc (gmem.c:85)
==25857== by 0x45CE0F0: g_malloc (gmem.c:159)
==25857== by 0x45E38AA: g_strdup (gstrfuncs.c:356)
==25857== by 0x4039F7F: rsvg_get_file_path (rsvg-io.c:64)
==25857== by 0x4039FDF: rsvg_acquire_file_data (rsvg-io.c:98)
-rw-r--r-- | rsvg-io.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -92,6 +92,7 @@ rsvg_acquire_file_data (const char *filename, GFile *file; gchar *path, *data; GInputStream *stream; + gboolean res; rsvg_return_val_if_fail (filename != NULL, NULL, error); @@ -99,10 +100,10 @@ rsvg_acquire_file_data (const char *filename, if (path == NULL) return NULL; - if (!g_file_get_contents (path, &data, len, error)) - return NULL; + res = g_file_get_contents (path, &data, len, error); + g_free (path); - return data; + return res ? data : NULL; } static GInputStream * |