Skip to content

Commit 3f20ac0

Browse files
committed
Avoid redundant copying of http body string
1 parent 42eaf6b commit 3f20ac0

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

‎ext/soap/php_http.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1303,10 +1303,10 @@ int make_http_soap_request(zval *this_ptr,
13031303
if ((strcmp(content_encoding,"gzip") == 0 ||
13041304
strcmp(content_encoding,"x-gzip") == 0) &&
13051305
(decompression_fn = zend_hash_str_find_ptr(EG(function_table), "gzdecode", sizeof("gzdecode")-1))) {
1306-
ZVAL_STR_COPY(&params[0], http_body);
1306+
ZVAL_STR(&params[0], http_body);
13071307
} else if (strcmp(content_encoding,"deflate") == 0 &&
13081308
(decompression_fn = zend_hash_str_find_ptr(EG(function_table), "gzuncompress", sizeof("gzuncompress")-1))) {
1309-
ZVAL_STR_COPY(&params[0], http_body);
1309+
ZVAL_STR(&params[0], http_body);
13101310
} else {
13111311
efree(content_encoding);
13121312
zend_string_release_ex(http_headers, 0);
@@ -1319,11 +1319,9 @@ int make_http_soap_request(zval *this_ptr,
13191319
}
13201320
zend_call_known_function(decompression_fn, NULL, NULL, &retval, 1, params, NULL);
13211321
if (Z_TYPE(retval) == IS_STRING) {
1322-
zval_ptr_dtor(&params[0]);
13231322
zend_string_release_ex(http_body, 0);
13241323
ZVAL_COPY_VALUE(return_value, &retval);
13251324
} else {
1326-
zval_ptr_dtor(&params[0]);
13271325
zval_ptr_dtor(&retval);
13281326
efree(content_encoding);
13291327
zend_string_release_ex(http_headers, 0);

0 commit comments

Comments
 (0)