2005-04-28 Robert McQueen <robot101@debian.org>
authorRobert McQueen <robot101@debian.org>
Fri, 28 Apr 2006 20:36:56 +0000 (20:36 +0000)
committerRobert McQueen <robot101@debian.org>
Fri, 28 Apr 2006 20:36:56 +0000 (20:36 +0000)
* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
generating struct signatures. Fixes bug #6083.

ChangeLog
glib/dbus-gvalue.c

index 0351e87..fdb65cf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2005-04-28  Robert McQueen  <robot101@debian.org>
 
+       * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
+       generating struct signatures. Fixes bug #6083.
+
+2005-04-28  Robert McQueen  <robot101@debian.org>
+
        * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
        to qdbusconnection_p.moc.
 
index e06a8fe..b81b4a6 100644 (file)
@@ -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);