summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--ext/simplexml/simplexml.c3
2 files changed, 4 insertions, 0 deletions
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;