diff options
author | Felipe Pena <felipe@php.net> | 2021-02-25 20:54:24 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2021-02-25 20:54:24 +0000 |
commit | 8813f2e0c31a98828cac4570673ccd8ce79b00af (patch) | |
tree | 3f8a364f0885883024c0a05171895dc68c749859 | |
parent | 18071aaa084e2c48875f4e0f22a2feca260cb4b2 (diff) | |
parent | 988c3f965923e5418b78ce69055f3eadd8ce4c89 (diff) | |
download | php-git-8813f2e0c31a98828cac4570673ccd8ce79b00af.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
-rw-r--r-- | ext/reflection/php_reflection.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 4debb4c7e6..64c5355fc8 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1533,6 +1533,11 @@ ZEND_METHOD(ReflectionFunction, __construct) } } + if (intern->ptr) { + zval_ptr_dtor(&intern->obj); + zval_ptr_dtor(reflection_prop_name(object)); + } + ZVAL_STR_COPY(reflection_prop_name(object), fptr->common.function_name); intern->ptr = fptr; intern->ref_type = REF_TYPE_FUNCTION; @@ -2084,6 +2089,10 @@ ZEND_METHOD(ReflectionGenerator, __construct) RETURN_THROWS(); } + if (intern->ce) { + zval_ptr_dtor(&intern->obj); + } + intern->ref_type = REF_TYPE_GENERATOR; ZVAL_OBJ_COPY(&intern->obj, Z_OBJ_P(generator)); intern->ce = zend_ce_generator; |