summaryrefslogtreecommitdiff
path: root/ext/simplexml
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-05-17 07:50:33 (GMT)
committerDmitry Stogov <dmitry@php.net>2010-05-17 07:50:33 (GMT)
commit04e72491bb965cafcb6553fa62f868136174b9f3 (patch)
treeae525cecd06ddcc0d33744ae9a6a1ea1160a3e24 /ext/simplexml
parent2ef8ef9029cff055f46717a3e4c6e672d402413a (diff)
downloadphp-04e72491bb965cafcb6553fa62f868136174b9f3.tar.gz
Fixed a possible crash because of recursive GC invocation
Diffstat (limited to 'ext/simplexml')
-rw-r--r--ext/simplexml/simplexml.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index b7d042f..5a58751 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;