cvs: ZendEngine2(PHP_5_3) / zend_gc.c /tests bug47343.phpt php-src NEWS

[email protected] ("Dmitry Stogov") Wed, 18 Feb 2009 12:02:54 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsdmitry1234958574@cvsserver>
dmitry		Wed Feb 18 12:02:54 2009 UTC

  Added files:                 (Branch: PHP_5_3)
    /ZendEngine2/tests	bug47343.phpt 

  Modified files:              
    /php-src	NEWS 
    /ZendEngine2	zend_gc.c 
  Log:
  Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a destructor in one case)
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.499&r2=1.2027.2.547.2.965.2.500&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.499 php-src/NEWS:1.2027.2.547.2.965.2.500
--- php-src/NEWS:1.2027.2.547.2.965.2.499	Tue Feb 17 14:55:58 2009
+++ php-src/NEWS	Wed Feb 18 12:02:52 2009
@@ -3,6 +3,8 @@
 ?? ??? 2009, PHP 5.3.0 Beta 2  
 - Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly). (Felipe)
 - Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0). (Felipe)
+- Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a
+  destructor in one case). (Dmitry)
 - Fixed bug #47329 (Crash in garbage collector). (Dmitry)
 - Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry)
 - Fixed bug #47265 (generating phar.phar failes because of safe_mode). (Greg)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_gc.c?r1=1.1.2.20&r2=1.1.2.21&diff_format=u
Index: ZendEngine2/zend_gc.c
diff -u ZendEngine2/zend_gc.c:1.1.2.20 ZendEngine2/zend_gc.c:1.1.2.21
--- ZendEngine2/zend_gc.c:1.1.2.20	Mon Feb  9 08:55:23 2009
+++ ZendEngine2/zend_gc.c	Wed Feb 18 12:02:53 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_gc.c,v 1.1.2.20 2009/02/09 08:55:23 dmitry Exp $ */
+/* $Id: zend_gc.c,v 1.1.2.21 2009/02/18 12:02:53 dmitry Exp $ */
 
 #include "zend.h"
 #include "zend_API.h"
@@ -521,7 +521,7 @@
 	}
 }
 
-#define FREE_LIST_END ((zval_gc_info*)((-1)|~GC_COLOR))
+#define FREE_LIST_END ((zval_gc_info*)(~(zend_uintptr_t)GC_COLOR))
 
 ZEND_API int gc_collect_cycles(TSRMLS_D)
 {

http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47343.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/bug47343.phpt
+++ ZendEngine2/tests/bug47343.phpt