mirror of
https://github.com/php/php-src.git
synced 2024-12-01 13:54:10 +08:00
Reflection: Copy invoke function also in the variadic case
It doesn't matter how the parameters are provided, we always have to copy the trampoline invoke function.
This commit is contained in:
parent
db80e0e2ad
commit
945f315506
@ -3332,13 +3332,11 @@ static void reflection_method_invoke(INTERNAL_FUNCTION_PARAMETERS, int variadic)
|
||||
fcc.called_scope = intern->ce;
|
||||
fcc.object = object ? Z_OBJ_P(object) : NULL;
|
||||
|
||||
if (!variadic) {
|
||||
/*
|
||||
* Copy the zend_function when calling via handler (e.g. Closure::__invoke())
|
||||
*/
|
||||
if ((mptr->internal_function.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE)) {
|
||||
fcc.function_handler = _copy_function(mptr);
|
||||
}
|
||||
/*
|
||||
* Copy the zend_function when calling via handler (e.g. Closure::__invoke())
|
||||
*/
|
||||
if ((mptr->internal_function.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE)) {
|
||||
fcc.function_handler = _copy_function(mptr);
|
||||
}
|
||||
|
||||
result = zend_call_function(&fci, &fcc);
|
||||
|
Loading…
Reference in New Issue
Block a user