cvs: ZendEngine2(PHP_5_1) / zend_compile.c zend_execute_API.c php-src NEWS

From: Date: Thu, 24 Nov 2005 11:33:11 +0000
Subject: cvs: ZendEngine2(PHP_5_1) / zend_compile.c zend_execute_API.c php-src NEWS
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-4389@lists.php.net to get a copy of this message
dmitry Thu Nov 24 06:33:11 2005 EDT Modified files: (Branch: PHP_5_1) /php-src NEWS /ZendEngine2 zend_compile.c zend_execute_API.c Log: Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash) http://cvs.php.net/diff.php/php-src/NEWS?r1=1.2027.2.219&r2=1.2027.2.220&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.219 php-src/NEWS:1.2027.2.220 --- php-src/NEWS:1.2027.2.219 Thu Nov 24 00:07:25 2005 +++ php-src/NEWS Thu Nov 24 06:33:10 2005 @@ -4,6 +4,9 @@ - Added an additional field $frame['object'] to the result array of debug_backtrace() that contains a reference to the respective object when the frame was called from an object. (Sebastian) +- Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash). + (Dmitry) + 24 Nov 2005, PHP 5.1 - Added support for class constants and static members for internal classes. (Dmitry, Michael Wallner) http://cvs.php.net/diff.php/ZendEngine2/zend_compile.c?r1=1.647.2.16&r2=1.647.2.17&ty=u Index: ZendEngine2/zend_compile.c diff -u ZendEngine2/zend_compile.c:1.647.2.16 ZendEngine2/zend_compile.c:1.647.2.17 --- ZendEngine2/zend_compile.c:1.647.2.16 Wed Nov 23 04:26:43 2005 +++ ZendEngine2/zend_compile.c Thu Nov 24 06:33:11 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_compile.c,v 1.647.2.16 2005/11/23 09:26:43 dmitry Exp $ */ +/* $Id: zend_compile.c,v 1.647.2.17 2005/11/24 11:33:11 dmitry Exp $ */ #include <zend_language_parser.h> #include "zend.h" @@ -1730,12 +1730,14 @@ } else { CG(active_op_array)->opcodes[last_additional_catch->u.opline_num].op1.u.EA.type = 1; } + DEC_BPC(CG(active_op_array)); } void zend_do_try(znode *try_token TSRMLS_DC) { try_token->u.opline_num = zend_add_try_element(get_next_op_number(CG(active_op_array)) TSRMLS_CC); + INC_BPC(CG(active_op_array)); } http://cvs.php.net/diff.php/ZendEngine2/zend_execute_API.c?r1=1.331.2.4&r2=1.331.2.5&ty=u Index: ZendEngine2/zend_execute_API.c diff -u ZendEngine2/zend_execute_API.c:1.331.2.4 ZendEngine2/zend_execute_API.c:1.331.2.5 --- ZendEngine2/zend_execute_API.c:1.331.2.4 Thu Oct 27 15:25:48 2005 +++ ZendEngine2/zend_execute_API.c Thu Nov 24 06:33:11 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute_API.c,v 1.331.2.4 2005/10/27 19:25:48 dmitry Exp $ */ +/* $Id: zend_execute_API.c,v 1.331.2.5 2005/11/24 11:33:11 dmitry Exp $ */ #include <stdio.h> #include <signal.h> @@ -1115,6 +1115,8 @@ INIT_ZVAL(ret_opline->op1.u.constant); SET_UNUSED(ret_opline->op2); + zend_do_handle_exception(TSRMLS_C); + if (!CG(active_op_array)->start_op) { CG(active_op_array)->start_op = CG(active_op_array)->opcodes; } @@ -1153,7 +1155,11 @@ zval_ptr_dtor(&local_retval); } - CG(active_op_array)->last--; /* get rid of that ZEND_RETURN */ + if (EG(exception)) { + zend_exception_error(EG(exception) TSRMLS_CC); + } + + CG(active_op_array)->last -= 2; /* get rid of that ZEND_RETURN and ZEND_HANDLE_EXCEPTION */ CG(active_op_array)->start_op = CG(active_op_array)->opcodes+CG(active_op_array)->last; }

« previous php.zend-engine.cvs (#4389) next »