From: Dmitry Stogov Date: Tue, 6 May 2008 16:59:38 +0000 (+0000) Subject: Fixed possible memory leak X-Git-Tag: BEFORE_NEW_PARAMETER_PARSE~275 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=10aa1146ab33d6f2e65791dba82896b4ce386be8;p=php Fixed possible memory leak --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index df2d6e2665..6d6761f8a6 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2568,7 +2568,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); @@ -2586,6 +2586,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 567493a3a0..839fc93f5a 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -667,7 +667,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); @@ -685,6 +685,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;