diff options
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r-- | ext/reflection/php_reflection.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 539e764555..dc96522b55 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -6166,7 +6166,8 @@ ZEND_METHOD(reflection_reference, fromArrayElement) return; } - if (Z_TYPE_P(item) != IS_REFERENCE) { + /* Treat singleton reference as non-reference. */ + if (Z_TYPE_P(item) != IS_REFERENCE || Z_REFCOUNT_P(item) == 1) { RETURN_NULL(); } |