diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-06-26 05:10:58 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-06-26 05:10:58 +0200 |
commit | 1335ebd0681f821ac143fb65daf78807fc619b8b (patch) | |
tree | b874510205fc9b49a0caf887d947fcbaa9cf72dd /Zend/zend_execute.c | |
parent | bc0df38e887e362761737227dd3c7b9b252e946c (diff) | |
download | php-git-1335ebd0681f821ac143fb65daf78807fc619b8b.tar.gz |
Fix Closure leak in aborted INIT_DYNAMIC_FCALL
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 8fc40245c9..e80f42992d 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2486,6 +2486,9 @@ static zend_always_inline void i_cleanup_unfinished_execution(zend_execute_data } OBJ_RELEASE(Z_OBJ(call->This)); } + if (call->func->common.fn_flags & ZEND_ACC_CLOSURE) { + zend_object_release(call->func->common.prototype); + } if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) { zend_string_release(call->func->common.function_name); zend_free_trampoline(call->func); |