diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index ee137231d2a..37b00f96f55 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -2077,6 +2077,9 @@ ZEND_METHOD(reflection_parameter, __construct) } efree(fptr); } + if (is_closure) { + zval_ptr_dtor(&reference); + } _DO_THROW("The parameter specified by its offset could not be found"); /* returns out of this function */ } @@ -2098,6 +2101,9 @@ ZEND_METHOD(reflection_parameter, __construct) } efree(fptr); } + if (is_closure) { + zval_ptr_dtor(&reference); + } _DO_THROW("The parameter specified by its name could not be found"); /* returns out of this function */ }