]> granicus.if.org Git - php/commitdiff
- Fixed bug #50481 (Storing many SPLFixedArray in an array crashes)
authorFelipe Pena <felipe@php.net>
Sun, 8 Aug 2010 23:56:29 +0000 (23:56 +0000)
committerFelipe Pena <felipe@php.net>
Sun, 8 Aug 2010 23:56:29 +0000 (23:56 +0000)
ext/spl/spl_fixedarray.c

index 73f5fcbd01d7469d2520d347986f6068d512de3d..4389d505b313ad2bf90abcbd6b0ae76c6b597dd6 100644 (file)
@@ -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));
                        }