@@ -1495,10 +1495,9 @@ ZEND_METHOD(ReflectionFunction, __construct)
1495
1495
if (closure_obj ) {
1496
1496
fptr = (zend_function * )zend_get_closure_method_def (closure_obj );
1497
1497
} else {
1498
- ALLOCA_FLAG (use_heap )
1499
-
1500
1498
if (UNEXPECTED (ZSTR_VAL (fname )[0 ] == '\\' )) {
1501
1499
/* Ignore leading "\" */
1500
+ ALLOCA_FLAG (use_heap )
1502
1501
ZSTR_ALLOCA_ALLOC (lcname , ZSTR_LEN (fname ) - 1 , use_heap );
1503
1502
zend_str_tolower_copy (ZSTR_VAL (lcname ), ZSTR_VAL (fname ) + 1 , ZSTR_LEN (fname ) - 1 );
1504
1503
fptr = zend_fetch_function (lcname );
@@ -1603,7 +1602,7 @@ ZEND_METHOD(ReflectionFunctionAbstract, getClosureScopeClass)
1603
1602
}
1604
1603
GET_REFLECTION_OBJECT ();
1605
1604
if (!Z_ISUNDEF (intern -> obj )) {
1606
- closure_func = zend_get_closure_method_def (Z_OBJ_P ( & intern -> obj ));
1605
+ closure_func = zend_get_closure_method_def (Z_OBJ ( intern -> obj ));
1607
1606
if (closure_func && closure_func -> common .scope ) {
1608
1607
zend_reflection_class_factory (closure_func -> common .scope , return_value );
1609
1608
}
@@ -3053,6 +3052,7 @@ ZEND_METHOD(ReflectionMethod, __construct)
3053
3052
&& memcmp (lcname , ZEND_INVOKE_FUNC_NAME , sizeof (ZEND_INVOKE_FUNC_NAME )- 1 ) == 0
3054
3053
&& (mptr = zend_get_closure_invoke_method (Z_OBJ_P (orig_obj ))) != NULL )
3055
3054
{
3055
+ /* do nothing, mptr already set */
3056
3056
} else if ((mptr = zend_hash_str_find_ptr (& ce -> function_table , lcname , name_len )) == NULL ) {
3057
3057
efree (lcname );
3058
3058
zend_throw_exception_ex (reflection_exception_ptr , 0 ,
0 commit comments