Browse Source

Fixed execution with overriden zend_execute_ex()

pull/1234/head
Dmitry Stogov 11 years ago
parent
commit
796b633817
  1. 2
      Zend/zend_vm_def.h
  2. 2
      Zend/zend_vm_execute.h

2
Zend/zend_vm_def.h

@ -7674,7 +7674,7 @@ ZEND_VM_HANDLER(158, ZEND_CALL_TRAMPOLINE, ANY, ANY)
ZEND_VM_C_LABEL(call_trampoline_end):
execute_data = EG(current_execute_data);
if (!EX(func) || !ZEND_USER_CODE(EX(func)->type)) {
if (!EX(func) || !ZEND_USER_CODE(EX(func)->type) || (call_kind & ZEND_CALL_TOP)) {
ZEND_VM_RETURN();
}

2
Zend/zend_vm_execute.h

@ -1888,7 +1888,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALL_TRAMPOLINE_SPEC_HANDLER(Z
call_trampoline_end:
execute_data = EG(current_execute_data);
if (!EX(func) || !ZEND_USER_CODE(EX(func)->type)) {
if (!EX(func) || !ZEND_USER_CODE(EX(func)->type) || (call_kind & ZEND_CALL_TOP)) {
ZEND_VM_RETURN();
}

Loading…
Cancel
Save