summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-07-07 18:19:57 +0800
committerXinchen Hui <laruence@php.net>2015-07-07 18:19:57 +0800
commit333528089e053b1db35a073955b3ec7244881667 (patch)
treec5f791b1f21d5ac62b9ab7002c6d59a9ac057cad
parent636c16b186a66c489aaa24b087e288772c297440 (diff)
downloadphp-git-333528089e053b1db35a073955b3ec7244881667.tar.gz
Fixed use after free on closure_call_leak_with_exception.phpt
-rw-r--r--Zend/zend_execute.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 6122566b3e..3bd1917539 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2488,8 +2488,7 @@ static zend_always_inline void i_cleanup_unfinished_execution(zend_execute_data
}
if (call->func->common.fn_flags & ZEND_ACC_CLOSURE) {
zend_object_release((zend_object *) call->func->common.prototype);
- }
- if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
+ } else if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
zend_string_release(call->func->common.function_name);
zend_free_trampoline(call->func);
}