From: Felipe Pena Date: Sun, 5 Jun 2011 01:38:12 +0000 (+0000) Subject: - Possible fix for bug #54609 (Certain implementation(s) of SplFixedArray cause hard... X-Git-Tag: php-5.4.0alpha1~94 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f57cbfcaa18a222d5a1448cc797b637f31aca393;p=php - Possible fix for bug #54609 (Certain implementation(s) of SplFixedArray cause hard crash) --- diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c index 34cb69cccd..89c4130bdf 100644 --- a/ext/spl/spl_fixedarray.c +++ b/ext/spl/spl_fixedarray.c @@ -153,7 +153,7 @@ static HashTable* spl_fixedarray_object_get_properties(zval *obj TSRMLS_DC) /* { HashTable *ht = zend_std_get_properties(obj TSRMLS_CC); int i = 0; - if (intern->array) { + if (intern->array && !GC_G(gc_active)) { int j = zend_hash_num_elements(ht); for (i = 0; i < intern->array->size; i++) { @@ -161,9 +161,6 @@ 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)); }