Restore original patch for bug #26281.

# Andi if you have a time & interest please see if perhaps a better
# solution can be implemented. Thanks.
This commit is contained in:
Ilia Alshanetsky 2003-11-29 17:33:25 +00:00
parent 9defdab180
commit cf196ac625

View File

@ -194,7 +194,11 @@ static inline void zend_switch_free(zend_op *opline, temp_variable *Ts TSRMLS_DC
switch (opline->op1.op_type) {
case IS_VAR:
if (!T(opline->op1.u.var).var.ptr_ptr) {
zval_ptr_dtor(&T(opline->op1.u.var).var.ptr);
temp_variable *T = &T(opline->op1.u.var);
/* perform the equivalent of equivalent of a
* quick & silent get_zval_ptr, and FREE_OP
*/
PZVAL_UNLOCK(T->EA.data.str_offset.str);
} else {
zval_ptr_dtor(&T(opline->op1.u.var).var.ptr);
if (opline->extended_value) { /* foreach() free */