summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-12-02 16:05:30 +0300
committerDmitry Stogov <dmitry@zend.com>2014-12-02 16:05:30 +0300
commit60dbf7b541eead97dda255b97da3d386c4645195 (patch)
tree6f7ee376c320713442a0d74a258977370a31bc56 /Zend/zend_generators.c
parent8ced6f1167aa39ce3cece1e06f8dd8c933240b1a (diff)
downloadphp-git-60dbf7b541eead97dda255b97da3d386c4645195.tar.gz
Fixed "finally" handling (the bug was introduced by recent removing of EX(delayed_exception))
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r--Zend/zend_generators.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index 3d95cde44d..2d1810ef78 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -165,6 +165,7 @@ static void zend_generator_dtor_storage(zend_object *object TSRMLS_DC) /* {{{ */
if (finally_op_num) {
zval *fast_call = ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[finally_op_end].op1.var);
+ Z_OBJ_P(fast_call) = NULL;
fast_call->u2.lineno = (uint32_t)-1;
ex->opline = &ex->func->op_array.opcodes[finally_op_num];
generator->flags |= ZEND_GENERATOR_FORCED_CLOSE;