summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-11-10 12:34:24 +0300
committerDmitry Stogov <dmitry@zend.com>2016-11-10 12:34:24 +0300
commitf34a00dbd8660e6fe7a9c20075e8c0d01a66fa32 (patch)
tree9d22beb24749d7a25ea6a242f0d1cdfb065fbb60
parent00c80fbb69b897a56d38defef938e21dcd0ce2ba (diff)
parent0950550fb9aced9f223b807238c8222633882ea7 (diff)
downloadphp-git-f34a00dbd8660e6fe7a9c20075e8c0d01a66fa32.tar.gz
Merge branch 'PHP-7.1'
* PHP-7.1: Don't update proprties inplace.
-rw-r--r--ext/soap/soap.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 73b7616437..52b4dcbef4 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -941,6 +941,8 @@ PHP_METHOD(SoapFault, __toString)
zend_string *str;
zend_fcall_info fci;
zval *this_ptr;
+ zend_string *faultcode_val, *faultstring_val, *file_val;
+ zend_long line_val;
if (zend_parse_parameters_none() == FAILURE) {
return;
@@ -964,16 +966,19 @@ PHP_METHOD(SoapFault, __toString)
zval_ptr_dtor(&fci.function_name);
- convert_to_string(faultcode);
- convert_to_string(faultstring);
- convert_to_string(file);
- convert_to_long(line);
+ faultcode_val = zval_get_string(faultcode);
+ faultstring_val = zval_get_string(faultstring);
+ file_val = zval_get_string(file);
+ line_val = zval_get_long(line);
convert_to_string(&trace);
str = strpprintf(0, "SoapFault exception: [%s] %s in %s:" ZEND_LONG_FMT "\nStack trace:\n%s",
- Z_STRVAL_P(faultcode), Z_STRVAL_P(faultstring), Z_STRVAL_P(file), Z_LVAL_P(line),
+ ZSTR_VAL(faultcode_val), ZSTR_VAL(faultstring_val), ZSTR_VAL(file_val), line_val,
Z_STRLEN(trace) ? Z_STRVAL(trace) : "#0 {main}\n");
+ zend_string_release(file_val);
+ zend_string_release(faultstring_val);
+ zend_string_release(faultcode_val);
zval_ptr_dtor(&trace);
RETVAL_STR(str);