From: Dmitry Stogov Date: Mon, 17 May 2010 07:50:33 +0000 (+0000) Subject: Fixed a possible crash because of recursive GC invocation X-Git-Tag: php-5.3.3RC1~159 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=059e2be1534b695b07e13b509d990141a3c1b227;p=php Fixed a possible crash because of recursive GC invocation --- diff --git a/NEWS b/NEWS index 0f0bf189b0..9de7107d61 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,7 @@ PHP NEWS - 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. diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 5087b4f9dc..12cedfce75 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -1083,6 +1083,9 @@ static HashTable * sxe_get_prop_hash(zval *object, int is_debug TSRMLS_DC) /* {{ 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;