]> granicus.if.org Git - php/commitdiff
fix: error handling
authorDmitry Stogov <dmitry@php.net>
Tue, 27 Jan 2004 10:24:48 +0000 (10:24 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 27 Jan 2004 10:24:48 +0000 (10:24 +0000)
ext/soap/soap.c

index 9c376c173cac05c38ea51fb0685f86f2c7e4294a..9a9c74e5ed30130456be3361cffea4f013122a5f 100644 (file)
@@ -1394,6 +1394,7 @@ static void do_soap_call(zval* thisObj,
        char *buffer;
        int len;
        int ret = FALSE;
+       int bailout = FALSE;
        int soap_version, old_soap_version;
 
        if (zend_hash_find(Z_OBJPROP_P(thisObj), "trace", sizeof("trace"), (void **) &trace) == SUCCESS
@@ -1478,7 +1479,11 @@ zend_try {
        }
 } zend_catch {
        ret = FALSE;
+       bailout = TRUE;
 } zend_end_try();
+       if (bailout) {
+               zend_bailout();
+       }
        if (!ret) {
                zval** fault;
                if (zend_hash_find(Z_OBJPROP_P(thisObj), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == SUCCESS) {