diff options
author | Christian Persch <chpe@gnome.org> | 2012-02-05 16:08:10 +0100 |
---|---|---|
committer | Christian Persch <chpe@gnome.org> | 2012-02-05 19:57:09 +0100 |
commit | fa370571690356bc1082b89ff5b8b8a74664d16f (patch) | |
tree | c404bf3b582d9381215f8e4e933e1cca253cd194 /gio/gresource.c | |
parent | 2f4b46e3783b04cddcb2622a57b2a8e692cff68a (diff) | |
download | glib-fa370571690356bc1082b89ff5b8b8a74664d16f.tar.gz |
resources: Plug a mem leak
==26427== 24 bytes in 1 blocks are definitely lost in loss record 608 of 965
==26427== at 0x402AD89: malloc (vg_replace_malloc.c:236)
==26427== by 0x4084724: standard_malloc (gmem.c:85)
==26427== by 0x40847C7: g_malloc (gmem.c:159)
==26427== by 0x409B1E1: g_slice_alloc (gslice.c:1003)
==26427== by 0x40BC038: g_variant_get_child_value (gvariant-core.c:969)
==26427== by 0x40BA89F: g_variant_valist_get (gvariant.c:4482)
==26427== by 0x40BAC23: g_variant_get_va (gvariant.c:4681)
==26427== by 0x40BAB29: g_variant_get (gvariant.c:4633)
==26427== by 0x4228BA5: do_lookup (gresource.c:293)
==26427== by 0x4228F51: g_resource_get_info (gresource.c:493)
Diffstat (limited to 'gio/gresource.c')
-rw-r--r-- | gio/gresource.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/gio/gresource.c b/gio/gresource.c index f177a8535..ce4476fe7 100644 --- a/gio/gresource.c +++ b/gio/gresource.c @@ -295,24 +295,23 @@ static gboolean do_lookup (GResource *resource, &_flags, &array); - if (!res) - { - if (size) - *size = _size; - if (flags) - *flags = _flags; - if (data) - *data = g_variant_get_data (array); - if (data_size) - { - /* Don't report trailing newline that non-compressed files has */ - if (_flags & G_RESOURCE_FLAGS_COMPRESSED) - *data_size = g_variant_get_size (array); - else - *data_size = g_variant_get_size (array) - 1; - } - res = TRUE; - } + if (size) + *size = _size; + if (flags) + *flags = _flags; + if (data) + *data = g_variant_get_data (array); + if (data_size) + { + /* Don't report trailing newline that non-compressed files has */ + if (_flags & G_RESOURCE_FLAGS_COMPRESSED) + *data_size = g_variant_get_size (array); + else + *data_size = g_variant_get_size (array) - 1; + } + g_variant_unref (array); + + res = TRUE; } g_free (free_path); |