summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.h
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-08-26 11:32:56 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-08-26 11:32:56 +0200
commitd7d2b060e1bb1a9bd7d0ad329e4b1facf9c38fc1 (patch)
treec8963611f24ed877a000b557be83c617693542e7 /Zend/zend_vm_execute.h
parent1954aed745fc24cadf2667bebb74668ab194386e (diff)
parentbf3e772361fe8bcc0915c123e707679e0aa619b9 (diff)
downloadphp-git-d7d2b060e1bb1a9bd7d0ad329e4b1facf9c38fc1.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Fix memory leak when yielding from non-iterable
Diffstat (limited to 'Zend/zend_vm_execute.h')
-rw-r--r--Zend/zend_vm_execute.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 6f0bb9197b..34a90d00b0 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -4545,6 +4545,7 @@ yield_from_try_again:
goto yield_from_try_again;
} else {
zend_throw_error(NULL, "Can use \"yield from\" only with arrays and Traversables");
+
UNDEF_RESULT();
HANDLE_EXCEPTION();
}
@@ -13707,6 +13708,7 @@ yield_from_try_again:
goto yield_from_try_again;
} else {
zend_throw_error(NULL, "Can use \"yield from\" only with arrays and Traversables");
+ zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
UNDEF_RESULT();
HANDLE_EXCEPTION();
}
@@ -37728,6 +37730,7 @@ yield_from_try_again:
goto yield_from_try_again;
} else {
zend_throw_error(NULL, "Can use \"yield from\" only with arrays and Traversables");
+
UNDEF_RESULT();
HANDLE_EXCEPTION();
}