diff options
author | Xinchen Hui <laruence@php.net> | 2015-07-07 18:19:57 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-07-07 18:19:57 +0800 |
commit | 333528089e053b1db35a073955b3ec7244881667 (patch) | |
tree | c5f791b1f21d5ac62b9ab7002c6d59a9ac057cad | |
parent | 636c16b186a66c489aaa24b087e288772c297440 (diff) | |
download | php-git-333528089e053b1db35a073955b3ec7244881667.tar.gz |
Fixed use after free on closure_call_leak_with_exception.phpt
-rw-r--r-- | Zend/zend_execute.c | 3 |
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); } |