summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2016-04-11 13:24:37 +0100
committerJoe Watkins <krakjoe@php.net>2016-04-11 13:24:37 +0100
commitc0b821d2e941daf7ff9a4b43765d4f32a4c79c6b (patch)
tree7f7162e36bd112508ffa46def38d7c734ddaea8b
parent707941413d871f09fdfcdd833d87f86dcf884f48 (diff)
downloadphp-git-c0b821d2e941daf7ff9a4b43765d4f32a4c79c6b.tar.gz
handle dummy frame
-rw-r--r--Zend/zend_execute_API.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index bdb9bb7bd5..1cbbc1a0a1 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -786,6 +786,9 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
if (func->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) {
if (func->common.fn_flags & ZEND_ACC_ABSTRACT) {
zend_throw_error(NULL, "Cannot call abstract method %s::%s()", ZSTR_VAL(func->common.scope->name), ZSTR_VAL(func->common.function_name));
+ if (EG(current_execute_data) == &dummy_execute_data) {
+ EG(current_execute_data) = dummy_execute_data.prev_execute_data;
+ }
return FAILURE;
}
if (func->common.fn_flags & ZEND_ACC_DEPRECATED) {