summaryrefslogtreecommitdiff
path: root/ext/simplexml
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-05-17 07:50:33 +0000
committerDmitry Stogov <dmitry@php.net>2010-05-17 07:50:33 +0000
commit059e2be1534b695b07e13b509d990141a3c1b227 (patch)
treebf11733332e331b5696369cd41849644c6501e5b /ext/simplexml
parent9db78b574bf6409f154d5381a3d876fc9f220c3d (diff)
downloadphp-git-059e2be1534b695b07e13b509d990141a3c1b227.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 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;