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);