From: Zeev Suraski Date: Tue, 10 Feb 2004 17:01:55 +0000 (+0000) Subject: Fix bug #26698 (exceptions handled properly during argument passing to functions) X-Git-Tag: php-5.0.0b4RC1~56 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=79a58abbbf45c8fc99242fd29a89936d9451599f;p=php Fix bug #26698 (exceptions handled properly during argument passing to functions) --- diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index ab86f68daf..1ad0a2b992 100644 --- a/Zend/zend_execute.c +++ b/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; ilast_try_catch; i++) { if (EG(active_op_array)->try_catch_array[i].try_op > op_num) { /* further blocks will not be relevant... */