Fixed captive_file_file_info_set() sandbox child interface SIGSEGV.
authorlace <>
Sun, 1 Jan 2006 10:07:09 +0000 (10:07 +0000)
committerlace <>
Sun, 1 Jan 2006 10:07:09 +0000 (10:07 +0000)
 - Due to the recent sub-second implementation.

src/libcaptive/sandbox/server-File.c

index b5a144b..917994a 100644 (file)
@@ -283,8 +283,14 @@ static void impl_Captive_File_file_info_set(impl_POA_Captive_File *servant,
 CaptiveFileInfoObject *file_info_captive;
 GnomeVFSResult errvfsresult;
 
+       if (GNOME_VFS_OK!=(errvfsresult=captive_file_info_object_new(&file_info_captive))) {
+               captive_sandbox_child_GnomeVFSResultException_throw(ev,errvfsresult);
+               return;
+               }
+
        if (GNOME_VFS_OK!=(errvfsresult=captive_sandbox_file_info_corba_to_captive(
                        file_info_captive,file_info_corba))) {
+               g_object_unref(file_info_captive);
                captive_sandbox_child_GnomeVFSResultException_throw(ev,errvfsresult);
                return;
                }