Blob Blame History Raw
diff -up libbonobo-2.19.6/activation-server/object-directory-load.c.list-leak libbonobo-2.19.6/activation-server/object-directory-load.c
--- libbonobo-2.19.6/activation-server/object-directory-load.c.list-leak	2007-09-12 18:41:20.000000000 -0400
+++ libbonobo-2.19.6/activation-server/object-directory-load.c	2007-09-12 21:33:20.000000000 -0400
@@ -483,7 +483,8 @@ od_end_element (GMarkupParseContext *con
                         info->cur_prop->v._u.value_stringv._buffer =
                                 CORBA_sequence_CORBA_string_allocbuf (len);
                         
-                        for (i = 0, p = g_list_reverse (info->cur_items); p; p = p->next, i++)
+			info->cur_items = g_list_reverse (info->cur_items);
+                        for (i = 0, p = info->cur_items; p; p = p->next, i++)
                                 info->cur_prop->v._u.
                                         value_stringv._buffer[i] = p->data;
                         g_list_free (info->cur_items);
@@ -509,7 +510,8 @@ od_end_element (GMarkupParseContext *con
                         info->cur_server->props._buffer =
                                 CORBA_sequence_Bonobo_ActivationProperty_allocbuf (len);
 
-                        for (i = 0, p = g_list_reverse (info->cur_props); p; p = p->next, i++) {
+			info->cur_props = g_list_reverse (info->cur_props);
+                        for (i = 0, p = info->cur_props; p; p = p->next, i++) {
                                 Bonobo_ActivationProperty_copy (&info->cur_server->props._buffer[i],
                                                                 (Bonobo_ActivationProperty *) p->data);
                                 CORBA_free (p->data);