From 781a7bc4399365f4613a883d974bf967d1b3046e Mon Sep 17 00:00:00 2001 From: Robert McQueen Date: Wed, 7 Jun 2006 00:31:01 +0000 Subject: 2005-05-06 Robert McQueen * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every call to dbus_g_type_get_struct. --- ChangeLog | 5 +++++ glib/dbus-gtype-specialized.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ddb650cb..e24d66e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-05-06 Robert McQueen + + * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every + call to dbus_g_type_get_struct. + 2005-05-06 Robert McQueen * glib/dbus-gvalue-utils.c: Fix the failing test where static string diff --git a/glib/dbus-gtype-specialized.c b/glib/dbus-gtype-specialized.c index 338e49d0..3e39c49d 100644 --- a/glib/dbus-gtype-specialized.c +++ b/glib/dbus-gtype-specialized.c @@ -392,7 +392,7 @@ dbus_g_type_get_struct (const char *container, ...) { GArray *types; - GType curtype; + GType curtype, ret; va_list args; va_start (args, first_type); @@ -404,8 +404,13 @@ dbus_g_type_get_struct (const char *container, curtype = va_arg (args, GType); } va_end (args); - return lookup_or_register_specialized (container, types->len, (GType*)types->data); + ret = lookup_or_register_specialized (container, types->len, + (GType *) types->data); + + g_array_free (types, TRUE); + + return ret; } -- cgit