summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2016-04-11 13:24:54 +0100
committerJoe Watkins <krakjoe@php.net>2016-04-11 13:24:54 +0100
commit04bd7ab8d3ce9c6323dc8dee5f3c47b3aa4a255b (patch)
treec76e5b76afe59de889e999e66d2b59dce8126e53 /Zend/zend_execute_API.c
parent00d8d9f227234a0712feeb5daf7b31e8233daf8a (diff)
parentc0b821d2e941daf7ff9a4b43765d4f32a4c79c6b (diff)
downloadphp-git-04bd7ab8d3ce9c6323dc8dee5f3c47b3aa4a255b.tar.gz
Merge branch 'PHP-7.0'
* PHP-7.0: handle dummy frame
Diffstat (limited to 'Zend/zend_execute_API.c')
-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 a4d82544f9..55981894cc 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -787,6 +787,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) {