From: Felipe Pena Date: Thu, 17 Feb 2011 23:24:50 +0000 (+0000) Subject: - Fixed bug #43512 (same parameter name can be used multiple times in method/function... X-Git-Tag: php-5.3.6RC2~25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5bef6665f93282ae8c4a803343e497413ad73c1c;p=php - Fixed bug #43512 (same parameter name can be used multiple times in method/function definition) --- diff --git a/NEWS b/NEWS index 46c752665c..ce807753b0 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2011, PHP 5.3.6 +- Zend Engine: + . Fixed bug #43512 (same parameter name can be used multiple times in + method/function definition). (Felipe) 17 Feb 2011, PHP 5.3.6RC1 - Upgraded bundled Sqlite3 to version 3.7.4. (Ilia) diff --git a/Zend/tests/bug54013.phpt b/Zend/tests/bug54013.phpt new file mode 100644 index 0000000000..4219eed51e --- /dev/null +++ b/Zend/tests/bug54013.phpt @@ -0,0 +1,31 @@ +--TEST-- +Bug #54013 (ReflectionParam for duplicate parameter contains garbage) +--FILE-- +b('waa?', 'meukee!'); + +$reflectionClass = new ReflectionClass($c); +$params = $reflectionClass->getMethod('b')->getParameters(); + +var_dump($params[0], $params[1]); + +?> +--EXPECTF-- +object(ReflectionParameter)#%d (1) { + ["name"]=> + string(8) "aaaaaaaa" +} +object(ReflectionParameter)#%d (1) { + ["name"]=> + string(8) "aaaaaaaa" +} diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 278844a422..42a890ef85 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -387,6 +387,7 @@ void fetch_simple_variable_ex(znode *result, znode *varname, int bp, zend_uchar result->op_type = IS_CV; result->u.var = lookup_cv(CG(active_op_array), varname->u.constant.value.str.val, varname->u.constant.value.str.len); result->u.EA.type = 0; + varname->u.constant.value.str.val = CG(active_op_array)->vars[result->u.var].name; return; } }