]> granicus.if.org Git - php/commitdiff
check for EG(excepton)
authorDmitry Stogov <dmitry@zend.com>
Thu, 15 May 2014 14:17:49 +0000 (18:17 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 15 May 2014 14:17:49 +0000 (18:17 +0400)
ext/soap/php_encoding.c

index 5b4ed232d17e49a3b005860b51f49636a493bdb1..29ca2ab41db3cbd588da04fb262252fafedb68a3 100644 (file)
@@ -642,11 +642,11 @@ zval *to_zval_user(zval *ret, encodeTypePtr type, xmlNodePtr node TSRMLS_DC)
                ZVAL_STRING(&data, (char*)xmlBufferContent(buf));
                xmlBufferFree(buf);
                xmlFreeNode(copy);
-
-               ZVAL_NULL(ret);
                
                if (call_user_function(EG(function_table), NULL, &type->map->to_zval, ret, 1, &data TSRMLS_CC) == FAILURE) {
                        soap_error0(E_ERROR, "Encoding: Error calling from_xml callback");
+               } else if (EG(exception)) {
+                       ZVAL_NULL(ret);
                }
                zval_ptr_dtor(&data);
        } else {