diff options
author | Felipe Pena <felipe@php.net> | 2010-08-08 23:56:29 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-08-08 23:56:29 +0000 |
commit | 84bc1c8593861e6027488dd71de0ed7d7a4af172 (patch) | |
tree | f97b9f74d468dff45ae1309f34cddaf976f0ab68 /ext/spl | |
parent | 30470999fe43b495907dbf1c6748778d44e1337f (diff) | |
download | php-git-84bc1c8593861e6027488dd71de0ed7d7a4af172.tar.gz |
- Fixed bug #50481 (Storing many SPLFixedArray in an array crashes)
Diffstat (limited to 'ext/spl')
-rw-r--r-- | ext/spl/spl_fixedarray.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c index 73f5fcbd01..4389d505b3 100644 --- a/ext/spl/spl_fixedarray.c +++ b/ext/spl/spl_fixedarray.c @@ -159,6 +159,9 @@ static HashTable* spl_fixedarray_object_get_properties(zval *obj TSRMLS_DC) /* { zend_hash_index_update(ht, i, (void *)&intern->array->elements[i], sizeof(zval *), NULL); Z_ADDREF_P(intern->array->elements[i]); } else { + if (GC_G(gc_active)) { + return NULL; + } zend_hash_index_update(ht, i, (void *)&EG(uninitialized_zval_ptr), sizeof(zval *), NULL); Z_ADDREF_P(EG(uninitialized_zval_ptr)); } |