From: Xinchen Hui Date: Fri, 27 Nov 2015 03:32:38 +0000 (+0800) Subject: Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6) X-Git-Tag: php-7.0.1RC1~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6cb6c044992414fc8d985c0c24ca6f7a59d2706d;p=php Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6) --- diff --git a/NEWS b/NEWS index bd6f283b1f..635ba29b73 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,10 @@ PHP NEWS - Phpdbg: . Fixed stderr being written to stdout. (Bob) +- Reflection: + . Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with + 5.6). (Laruence) + - Standard: . Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters). (Laruence) diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index faced0572c..72df8b5901 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -3858,6 +3858,7 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue) "Class %s does not have a property named %s", ZSTR_VAL(ce->name), ZSTR_VAL(name)); return; } + ZVAL_DEREF(variable_ptr); zval_ptr_dtor(variable_ptr); ZVAL_COPY(variable_ptr, value); } diff --git a/ext/reflection/tests/bug70982.phpt b/ext/reflection/tests/bug70982.phpt new file mode 100644 index 0000000000..3d6aadde4d --- /dev/null +++ b/ext/reflection/tests/bug70982.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6) +--FILE-- +setStaticPropertyValue('abc', 'hi'); +$foo = $rf->newInstance(); +?> +--EXPECT-- +string(2) "hi"