diff options
author | Dmitry Stogov <dmitry@zend.com> | 2016-11-10 12:32:07 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2016-11-10 12:32:07 +0300 |
commit | 15ac4904727d22acdb9722871ef8f4acb7ddccae (patch) | |
tree | 2b4146c1c6e9c7eb681c9ab5025a0e99848867d1 /ext/soap | |
parent | f6be10857484f66537bfb776331e3a540934b18f (diff) | |
download | php-git-15ac4904727d22acdb9722871ef8f4acb7ddccae.tar.gz |
Don't update proprties inplace.
Diffstat (limited to 'ext/soap')
-rw-r--r-- | ext/soap/soap.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 344f2408bd..a2170283c8 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; @@ -966,16 +968,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:%pd\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); |