captive_sandbox_parent_query_vfs_retry(): Fixed assumed success if CORBA failure
authorshort <>
Fri, 4 Jul 2003 15:42:04 +0000 (15:42 +0000)
committershort <>
Fri, 4 Jul 2003 15:42:04 +0000 (15:42 +0000)
src/libcaptive/sandbox/split.c

index 15ce117..6fe2b41 100644 (file)
@@ -803,9 +803,10 @@ gboolean want_retry;
         */
        want_retry=(captive_vfs_object->options.sandbox_server_argv
                        && (evp->_major==CORBA_SYSTEM_EXCEPTION && !strcmp(ex_CORBA_COMM_FAILURE,CORBA_exception_id(evp))));
-       CORBA_exception_free(evp);
+       /* Never free 'evp' if returning as no-retry - 'evp' will be reevaluated by the caller! */
        if (!want_retry)
                return FALSE;   /* no retry */
+       CORBA_exception_free(evp);
 
        captive_sandbox_parent_vfs_close(captive_vfs_object);   /* errors ignored */
        errvfsresult=captive_sandbox_parent_vfs_new(captive_vfs_object);