dmitry Wed May 4 07:16:59 2005 EDT
Added files: (Branch: PHP_5_0)
/ZendEngine2/tests bug30707.phpt
Modified files:
/php-src NEWS
/ZendEngine2 zend_execute.c
Log:
Fixed bug #30707 (Segmentation fault on exception in method)
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.367&r2=1.1760.2.368&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.367 php-src/NEWS:1.1760.2.368
--- php-src/NEWS:1.1760.2.367 Wed May 4 04:41:53 2005
+++ php-src/NEWS Wed May 4 07:16:54 2005
@@ -72,6 +72,7 @@
- Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry)
- Fixed bug #30833 (array_count_values() modifying input array). (Tony)
- Fixed bug #30819 (Better support for LDAP SASL bind). (Jani)
+- Fixed bug #30707 (Segmentation fault on exception in method). (Stas, Dmitry)
- Fixed bug #30702 (cannot initialize class variable from class constant).
(Dmitry)
- Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with
http://cvs.php.net/diff.php/ZendEngine2/zend_execute.c?r1=1.652.2.28&r2=1.652.2.29&ty=u
Index: ZendEngine2/zend_execute.c
diff -u ZendEngine2/zend_execute.c:1.652.2.28
ZendEngine2/zend_execute.c:1.652.2.29
--- ZendEngine2/zend_execute.c:1.652.2.28 Wed May 4 04:44:40 2005
+++ ZendEngine2/zend_execute.c Wed May 4 07:16:56 2005
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.c,v 1.652.2.28 2005/05/04 08:44:40 dmitry Exp $ */
+/* $Id: zend_execute.c,v 1.652.2.29 2005/05/04 11:16:56 dmitry Exp $ */
#define ZEND_INTENSIVE_DEBUGGING 0
@@ -4334,6 +4334,13 @@
}
}
+ while (EX(fbc)) {
+ if (EX(object)) {
+ zval_ptr_dtor(&EX(object));
+ }
+ zend_ptr_stack_n_pop(&EG(arg_types_stack), 3,
&EX(calling_scope), &EX(object), &EX(fbc));
+ }
+
if (encapsulating_block == -1) {
RETURN_FROM_EXECUTE_LOOP(execute_data);
} else {
http://cvs.php.net/co.php/ZendEngine2/tests/bug30707.phpt?r=1.1&p=1
Index: ZendEngine2/tests/bug30707.phpt
+++ ZendEngine2/tests/bug30707.phpt
--
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
|