From: Dmitry Stogov Date: Tue, 6 May 2008 16:59:24 +0000 (+0000) Subject: Fixed possible memory leak X-Git-Tag: RELEASE_2_0_0b1~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=baa15b7780b2cfb1fabe43685bba882c2ecac3be;p=php Fixed possible memory leak --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index fc04af9468..e3fae90397 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2632,7 +2632,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST) zend_uint arg_num = Z_LVAL(opline->op1.u.constant); zend_free_op free_res; zval **param = zend_vm_stack_get_arg(arg_num TSRMLS_CC); - zval **var_ptr = get_zval_ptr_ptr(&opline->result, EX(Ts), &free_res, BP_VAR_W);; + zval **var_ptr; if (param == NULL) { ALLOC_ZVAL(assignment_value); @@ -2650,6 +2650,7 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST) } zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline->extended_value TSRMLS_CC); + var_ptr = get_zval_ptr_ptr(&opline->result, EX(Ts), &free_res, BP_VAR_W); Z_DELREF_PP(var_ptr); *var_ptr = assignment_value; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 9280fc88ba..381ac17dd1 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -680,7 +680,7 @@ static int ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) zend_uint arg_num = Z_LVAL(opline->op1.u.constant); zend_free_op free_res; zval **param = zend_vm_stack_get_arg(arg_num TSRMLS_CC); - zval **var_ptr = get_zval_ptr_ptr(&opline->result, EX(Ts), &free_res, BP_VAR_W);; + zval **var_ptr; if (param == NULL) { ALLOC_ZVAL(assignment_value); @@ -698,6 +698,7 @@ static int ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) } zend_verify_arg_type((zend_function *) EG(active_op_array), arg_num, assignment_value, opline->extended_value TSRMLS_CC); + var_ptr = get_zval_ptr_ptr(&opline->result, EX(Ts), &free_res, BP_VAR_W); Z_DELREF_PP(var_ptr); *var_ptr = assignment_value;