From: Xinchen Hui Date: Sat, 21 Mar 2015 12:17:04 +0000 (+0800) Subject: Fixed memleak X-Git-Tag: PRE_PHP7_NSAPI_REMOVAL~564 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4529cc0e51d81432d8786448bea8b5f137d2cc3;p=php Fixed memleak --- diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 99ef02059f..06f6179884 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -1518,14 +1518,15 @@ static PHP_FUNCTION(preg_replace_callback_array) ZVAL_STR_COPY(®ex, str_idx); } else { php_error_docref(NULL, E_WARNING, "Delimiter must not be alphanumeric or backslash"); - zval_dtor(return_value); + zval_ptr_dtor(return_value); RETURN_NULL(); } if (!zend_is_callable(replace, 0, &callback_name)) { php_error_docref(NULL, E_WARNING, "'%s' is not a valid callback", callback_name->val); zend_string_release(callback_name); - zval_dtor(return_value); + zval_ptr_dtor(®ex); + zval_ptr_dtor(return_value); ZVAL_COPY(return_value, subject); return; } @@ -1547,7 +1548,7 @@ static PHP_FUNCTION(preg_replace_callback_array) ZVAL_COPY_VALUE(return_value, &zv); if (UNEXPECTED(EG(exception))) { - zval_dtor(return_value); + zval_ptr_dtor(return_value); RETURN_NULL(); } } ZEND_HASH_FOREACH_END();