From: Marcus Boerger Date: Tue, 25 Jan 2005 10:07:52 +0000 (+0000) Subject: - Use correct freeing (thx Dmitry) X-Git-Tag: RELEASE_0_2~162 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ccca7df1ea421920006d0596ce32b00ff5befa25;p=php - Use correct freeing (thx Dmitry) --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 7a23a5cbb3..485de2392a 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2867,7 +2867,11 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + FREE_OP1_VAR_PTR(); + } else { + FREE_OP1_IF_VAR(); + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 6f1cdc7cb1..266f2b6868 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1963,7 +1963,11 @@ static int ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + ; + } else { + ; + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); } @@ -4375,7 +4379,11 @@ static int ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + ; + } else { + ; + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); } @@ -7449,7 +7457,11 @@ static int ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + } else { + if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); } @@ -18221,7 +18233,11 @@ static int ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + ; + } else { + ; + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); } @@ -30516,7 +30532,11 @@ static int ZEND_FE_RESET_HANDLER(ZEND_OPCODE_HANDLER_ARGS) array_ptr = zend_iterator_wrap(iter TSRMLS_CC); } else { zval_ptr_dtor(&array_ptr); - if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + if (opline->extended_value) { + if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; + } else { + FREE_OP_IF_VAR(free_op1); + } zend_throw_exception_internal(NULL TSRMLS_CC); ZEND_VM_NEXT_OPCODE(); }