Throw exception will override EX(opline)

This commit is contained in:
Xinchen Hui 2015-04-20 11:58:23 +08:00
parent d66045fe73
commit 1c3b99c4ff
2 changed files with 6 additions and 6 deletions

View File

@ -7857,7 +7857,7 @@ ZEND_VM_C_LABEL(call_trampoline_end):
ZEND_VM_RETURN();
}
LOAD_OPLINE();
opline = EX(opline);
if (object) {
OBJ_RELEASE(object);
@ -7866,8 +7866,8 @@ ZEND_VM_C_LABEL(call_trampoline_end):
if (UNEXPECTED(EG(exception) != NULL)) {
zend_throw_exception_internal(NULL);
if (RETURN_VALUE_USED(OPLINE)) {
zval_ptr_dtor(EX_VAR(OPLINE->result.var));
if (RETURN_VALUE_USED(opline)) {
zval_ptr_dtor(EX_VAR(opline->result.var));
}
HANDLE_EXCEPTION_LEAVE();
}

View File

@ -1893,7 +1893,7 @@ call_trampoline_end:
ZEND_VM_RETURN();
}
LOAD_OPLINE();
opline = EX(opline);
if (object) {
OBJ_RELEASE(object);
@ -1902,8 +1902,8 @@ call_trampoline_end:
if (UNEXPECTED(EG(exception) != NULL)) {
zend_throw_exception_internal(NULL);
if (RETURN_VALUE_USED(OPLINE)) {
zval_ptr_dtor(EX_VAR(OPLINE->result.var));
if (RETURN_VALUE_USED(opline)) {
zval_ptr_dtor(EX_VAR(opline->result.var));
}
HANDLE_EXCEPTION_LEAVE();
}