From cf196ac625ceab7cd11e858e4ae4374f972c3131 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sat, 29 Nov 2003 17:33:25 +0000 Subject: [PATCH] Restore original patch for bug #26281. # Andi if you have a time & interest please see if perhaps a better # solution can be implemented. Thanks. --- Zend/zend_execute.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index be3ca78e22..b3702ad15c 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -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 */ -- 2.50.1