From 1f11e07fc692e64991ffc8a009f2270db56cb246 Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Fri, 19 Nov 1999 17:04:54 +0000 Subject: [PATCH] - Moved var_uninit() for return_value to the beginning of DO_FCALL. We forgot to do it for overloaded methods --- Zend/zend_execute.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 2256b1bf37..39bff9225a 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1467,8 +1467,8 @@ do_fcall_common: int return_value_not_used = (opline->result.u.EA.type & EXT_TYPE_UNUSED); zend_ptr_stack_push(&EG(argument_stack), (void *) opline->extended_value); + var_uninit(&Ts[opline->result.u.var].tmp_var); if (function_state.function->type==ZEND_INTERNAL_FUNCTION) { - var_uninit(&Ts[opline->result.u.var].tmp_var); ((zend_internal_function *) function_state.function)->handler(opline->extended_value, &Ts[opline->result.u.var].tmp_var, &EG(regular_list), &EG(persistent_list), object.ptr, !return_value_not_used); if (object.ptr) { object.ptr->refcount--; @@ -1500,7 +1500,6 @@ do_fcall_common: } original_return_value = EG(return_value); EG(return_value) = &Ts[opline->result.u.var].tmp_var; - var_uninit(EG(return_value)); EG(active_op_array) = (zend_op_array *) function_state.function; zend_execute(EG(active_op_array) ELS_CC); EG(opline_ptr) = &opline; -- 2.40.0