summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2021-02-25 20:57:30 +0000
committerFelipe Pena <felipe@php.net>2021-02-25 20:57:30 +0000
commit5e8ae15c3d59f5ee4ca9f51b4ee712e2ada67864 (patch)
treef92e0cc0d2bd77f92751333f756b149cb4ed7ad8 /ext/reflection/php_reflection.c
parent3a4b89661e4b68b3de8ae337a82684bcfeb7dc48 (diff)
parent8813f2e0c31a98828cac4570673ccd8ce79b00af (diff)
downloadphp-git-5e8ae15c3d59f5ee4ca9f51b4ee712e2ada67864.tar.gz
Merge branch 'PHP-8.0'
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index bd487972ec..83d165beb2 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;
@@ -2083,6 +2088,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;