Prevent master crash on incomplete directory listing by (crashed) slave.
authorshort <>
Wed, 3 Dec 2003 01:53:03 +0000 (01:53 +0000)
committershort <>
Wed, 3 Dec 2003 01:53:03 +0000 (01:53 +0000)
 - Bugreport by Graeme/Unit3.

src/libcaptive/sandbox/parent-Directory.c

index 5956979..c457459 100644 (file)
@@ -129,9 +129,12 @@ GList *file_info_last_l=g_list_last(captive_directory_parent_object->corba_Direc
                /* Prevent gnome_vfs_file_info_list_free() and its gnome_vfs_file_info_unref()
                 * on the last 'file_info_list' items as it is EOF with NULL '->data'.
                 */
-               g_assert(file_info_last_l->data==NULL); /* directory EOF */
-               captive_directory_parent_object->corba_Directory_file_info_list=g_list_delete_link(
-                               captive_directory_parent_object->corba_Directory_file_info_list,file_info_last_l);
+               /* Do not: g_assert(file_info_last_l->data==NULL);      * directory EOF *
+                * as the crashed client may not produced the trailing NULL.
+                */
+               if (!file_info_last_l->data)
+                       captive_directory_parent_object->corba_Directory_file_info_list=g_list_delete_link(
+                                       captive_directory_parent_object->corba_Directory_file_info_list,file_info_last_l);
                gnome_vfs_file_info_list_free(captive_directory_parent_object->corba_Directory_file_info_list);
                captive_directory_parent_object->corba_Directory_file_info_list=NULL;
                }