From: Pierre Joye Date: Sat, 10 Oct 2009 09:12:58 +0000 (+0000) Subject: - Merge: Fixed memleak in tests/lang/engine_assignExecutionOrder_001.phpt X-Git-Tag: php-5.3.1RC2~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fc0f16cb5cc9cf313b45522c3203a5251d611a3a;p=php - Merge: Fixed memleak in tests/lang/engine_assignExecutionOrder_001.phpt --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 34ac304102..f6f0c64dc2 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -940,6 +940,7 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, ANY, int type if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) { retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC); + FREE_OP1(); } else { target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC); /* diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 2b56493216..a2ba0f8166 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -4607,6 +4607,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP(int type, ZEND_O if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) { retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC); + zval_dtor(free_op1.var); } else { target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC); /* @@ -7848,6 +7849,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR(int type, ZEND_O if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) { retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC); + if (free_op1.var) {zval_ptr_dtor(&free_op1.var);}; } else { target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC); /*