From 82f9e004da91311dbe94e9a867f7fd6e4574adec Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 31 Dec 2020 19:36:27 +0100 Subject: Fix ReflectionClass::getConstants() stub If `zval_update_constant_ex()` fails, an exception has already been thrown, so we clarify that in the implementation as well. Closes GH-6557. --- ext/reflection/php_reflection.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'ext/reflection/php_reflection.c') diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index dfa084caa5..a782a3ef0f 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -4446,8 +4446,7 @@ ZEND_METHOD(ReflectionClass, getConstants) array_init(return_value); ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->constants_table, key, constant) { if (UNEXPECTED(zval_update_constant_ex(&constant->value, ce) != SUCCESS)) { - zend_array_destroy(Z_ARRVAL_P(return_value)); - RETURN_NULL(); + RETURN_THROWS(); } if (Z_ACCESS_FLAGS(constant->value) & filter) { -- cgit v1.2.1