dmitry Mon, 17 May 2010 07:50:33 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=299424
Log:
Fixed a possible crash because of recursive GC invocation
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/simplexml/simplexml.c
U php/php-src/trunk/ext/simplexml/simplexml.c
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-05-17 07:44:30 UTC (rev 299423)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-05-17 07:50:33 UTC (rev 299424)
@@ -23,6 +23,7 @@
- Fixed very rare memory leak in mysqlnd, when binding thousands of columns.
(Andrey)
+- Fixed a possible crash because of recursive GC invocation. (Dmitry)
- Fixed a possible resource destruction issues in shm_put_var()
Reported by Stefan Esser (Dmitry)
- Fixed a possible information leak because of interruption of XOR operator.
Modified: php/php-src/branches/PHP_5_3/ext/simplexml/simplexml.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/simplexml/simplexml.c 2010-05-17
07:44:30 UTC (rev 299423)
+++ php/php-src/branches/PHP_5_3/ext/simplexml/simplexml.c 2010-05-17
07:50:33 UTC (rev 299424)
@@ -1083,6 +1083,9 @@
zend_hash_clean(sxe->properties);
rv = sxe->properties;
} else {
+ if (GC_G(gc_active)) {
+ return NULL;
+ }
ALLOC_HASHTABLE(rv);
zend_hash_init(rv, 0, NULL, ZVAL_PTR_DTOR, 0);
sxe->properties = rv;
Modified: php/php-src/trunk/ext/simplexml/simplexml.c
===================================================================
--- php/php-src/trunk/ext/simplexml/simplexml.c 2010-05-17 07:44:30 UTC (rev
299423)
+++ php/php-src/trunk/ext/simplexml/simplexml.c 2010-05-17 07:50:33 UTC (rev
299424)
@@ -1083,6 +1083,9 @@
zend_hash_clean(sxe->properties);
rv = sxe->properties;
} else {
+ if (GC_G(gc_active)) {
+ return NULL;
+ }
ALLOC_HASHTABLE(rv);
zend_hash_init(rv, 0, NULL, ZVAL_PTR_DTOR, 0);
sxe->properties = rv;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php