From f231b76ba6ab9494d6c3092b8c70888e10b914d4 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 30 Aug 2006 16:46:59 +0000 Subject: [PATCH] fix leak, add test --- ext/pcre/php_pcre.c | 1 + ext/pcre/tests/preg_replace_callback3.phpt | 45 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 ext/pcre/tests/preg_replace_callback3.phpt diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 2a531e4305..f4ccb14299 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -1272,6 +1272,7 @@ static void preg_replace_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_callabl efree(callback_name); *return_value = **subject; zval_copy_ctor(return_value); + INIT_PZVAL(return_value); return; } efree(callback_name); diff --git a/ext/pcre/tests/preg_replace_callback3.phpt b/ext/pcre/tests/preg_replace_callback3.phpt new file mode 100644 index 0000000000..fafd966f47 --- /dev/null +++ b/ext/pcre/tests/preg_replace_callback3.phpt @@ -0,0 +1,45 @@ +--TEST-- +preg_replace_callback() 3 +--FILE-- + +--EXPECTF-- +Warning: Wrong parameter count for preg_replace_callback() in %s on line %d +NULL + +Warning: Wrong parameter count for preg_replace_callback() in %s on line %d +NULL + +Warning: Wrong parameter count for preg_replace_callback() in %s on line %d +NULL + +Warning: preg_replace_callback(): Requires argument 2, '2', to be a valid callback in %s on line %d +int(3) + +Warning: preg_replace_callback(): Requires argument 2, '2', to be a valid callback in %s on line %d +int(3) + +Warning: preg_replace_callback(): Requires argument 2, '2', to be a valid callback in %s on line %d +int(3) + +Warning: preg_replace_callback(): Requires argument 2, '', to be a valid callback in %s on line 1%d +string(0) "" + +Warning: preg_replace_callback(): Requires argument 2, 'Array', to be a valid callback in %s on line %d +array(0) { +} +Done -- 2.50.1