diff options
author | Xinchen Hui <laruence@gmail.com> | 2016-08-15 23:22:55 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2016-08-15 23:22:55 +0800 |
commit | 60de74ebdae5cf8b14f85d6e60f519c9e8b966f9 (patch) | |
tree | 801865f5f072c2b3707eddcf1672bd55ca59e2fc /ext/reflection/php_reflection.c | |
parent | d6b46901b281a3c9d48b65f5f69bae9c7805b118 (diff) | |
download | php-git-60de74ebdae5cf8b14f85d6e60f519c9e8b966f9.tar.gz |
Fixed bug #72846 (getConstant for a array constant with constant values returns NULL/NFC/UKNOWN)
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r-- | ext/reflection/php_reflection.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 964e7a9e57..08acc7e5d2 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -4407,6 +4407,7 @@ ZEND_METHOD(reflection_class, getConstants) GET_REFLECTION_OBJECT_PTR(ce); array_init(return_value); ZEND_HASH_FOREACH_VAL(&ce->constants_table, val) { + ZVAL_DEREF(val); if (UNEXPECTED(zval_update_constant_ex(val, 1, ce) != SUCCESS)) { return; } @@ -4431,6 +4432,7 @@ ZEND_METHOD(reflection_class, getConstant) GET_REFLECTION_OBJECT_PTR(ce); ZEND_HASH_FOREACH_VAL(&ce->constants_table, value) { + ZVAL_DEREF(value); if (UNEXPECTED(zval_update_constant_ex(value, 1, ce) != SUCCESS)) { return; } |