summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_def.h
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-10-10 11:40:49 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-10-10 11:40:49 +0200
commit96c84b7bc103b8515aa6b59f5f7d773a784786ec (patch)
tree761a82a697112b996416313fef73906b96261961 /Zend/zend_vm_def.h
parentdaf1fc6e316d435cee9edd812b904e597e241ae5 (diff)
downloadphp-git-96c84b7bc103b8515aa6b59f5f7d773a784786ec.tar.gz
Fix leak on static method call on non-existent class
Diffstat (limited to 'Zend/zend_vm_def.h')
-rw-r--r--Zend/zend_vm_def.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index df0a3d9812..e4431e6a3a 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -3098,6 +3098,7 @@ ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, UNUSED|CLASS_FETCH|CONST|VAR,
ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op1)), EX_CONSTANT(opline->op1) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
+ FREE_UNFETCHED_OP2();
HANDLE_EXCEPTION();
}
CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op1)), ce);