summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2004-01-27 10:24:48 +0000
committerDmitry Stogov <dmitry@php.net>2004-01-27 10:24:48 +0000
commit6eeec41c4decef7599332e17303ff0ffddad14dc (patch)
tree1b5b2fb18bcb228ba2df67493d25ddfca4e18be7
parent3787c94c2af7e53f1b8cf785d457009333fa35f7 (diff)
downloadphp-git-6eeec41c4decef7599332e17303ff0ffddad14dc.tar.gz
fix: error handling
-rw-r--r--ext/soap/soap.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 9c376c173c..9a9c74e5ed 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -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) {