diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index 088d6605b3c..c9a4e484359 100644 --- a/ext/soap/php_http.c +++ b/ext/soap/php_http.c @@ -1303,10 +1303,10 @@ try_again: if ((strcmp(content_encoding,"gzip") == 0 || strcmp(content_encoding,"x-gzip") == 0) && (decompression_fn = zend_hash_str_find_ptr(EG(function_table), "gzdecode", sizeof("gzdecode")-1))) { - ZVAL_STR_COPY(¶ms[0], http_body); + ZVAL_STR(¶ms[0], http_body); } else if (strcmp(content_encoding,"deflate") == 0 && (decompression_fn = zend_hash_str_find_ptr(EG(function_table), "gzuncompress", sizeof("gzuncompress")-1))) { - ZVAL_STR_COPY(¶ms[0], http_body); + ZVAL_STR(¶ms[0], http_body); } else { efree(content_encoding); zend_string_release_ex(http_headers, 0); @@ -1319,11 +1319,9 @@ try_again: } zend_call_known_function(decompression_fn, NULL, NULL, &retval, 1, params, NULL); if (Z_TYPE(retval) == IS_STRING) { - zval_ptr_dtor(¶ms[0]); zend_string_release_ex(http_body, 0); ZVAL_COPY_VALUE(return_value, &retval); } else { - zval_ptr_dtor(¶ms[0]); zval_ptr_dtor(&retval); efree(content_encoding); zend_string_release_ex(http_headers, 0);