Browse Source

Fix bug #26698 (exceptions handled properly during argument passing to functions)

PEAR_1_4DEV
Zeev Suraski 22 years ago
parent
commit
79a58abbbf
  1. 8
      Zend/zend_execute.c

8
Zend/zend_execute.c

@ -4124,7 +4124,15 @@ int zend_handle_exception_handler(ZEND_OPCODE_HANDLER_ARGS)
zend_uint op_num = EG(opline_before_exception)-EG(active_op_array)->opcodes;
int i;
int encapsulating_block=-1;
zval **stack_zval_pp;
stack_zval_pp = (zval **) EG(argument_stack).top_element - 1;
while (*stack_zval_pp != NULL) {
zval_ptr_dtor(stack_zval_pp);
EG(argument_stack).top_element--;
stack_zval_pp--;
}
for (i=0; i<EG(active_op_array)->last_try_catch; i++) {
if (EG(active_op_array)->try_catch_array[i].try_op > op_num) {
/* further blocks will not be relevant... */

Loading…
Cancel
Save