From 6055e1cf44ffc03a1e338c0aa45ef22d1dd7ad1c Mon Sep 17 00:00:00 2001 From: Robert McQueen Date: Fri, 28 Apr 2006 20:36:56 +0000 Subject: 2005-04-28 Robert McQueen * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in generating struct signatures. Fixes bug #6083. --- ChangeLog | 5 +++++ glib/dbus-gvalue.c | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0351e87d..fdb65cf1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-04-28 Robert McQueen + + * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in + generating struct signatures. Fixes bug #6083. + 2005-04-28 Robert McQueen * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc diff --git a/glib/dbus-gvalue.c b/glib/dbus-gvalue.c index e06a8fee..b81b4a65 100644 --- a/glib/dbus-gvalue.c +++ b/glib/dbus-gvalue.c @@ -392,10 +392,13 @@ _dbus_gtype_to_signature (GType gtype) size = dbus_g_type_get_struct_size (gtype); sig = g_string_sized_new (size+2); /*some sensible starting size*/ g_string_assign (sig, DBUS_STRUCT_BEGIN_CHAR_AS_STRING); - for (i=0; i < size; i++) + for (i = 0; i < size; i++) { - g_string_append (sig, _dbus_gtype_to_signature ( - dbus_g_type_get_struct_member_type (gtype, i))); + gchar *subsig; + subsig = _dbus_gtype_to_signature ( + dbus_g_type_get_struct_member_type (gtype, i)); + g_string_append (sig, subsig); + g_free (subsig); } g_string_append (sig, DBUS_STRUCT_END_CHAR_AS_STRING); ret = g_string_free (sig, FALSE); -- cgit