]> granicus.if.org Git - php/commitdiff
set initialized flag after actual initialization happened
authorStanislav Malyshev <stas@php.net>
Mon, 1 Jun 2015 02:37:56 +0000 (19:37 -0700)
committerStanislav Malyshev <stas@php.net>
Mon, 1 Jun 2015 02:37:56 +0000 (19:37 -0700)
Zend/zend_hash.c

index 75bcb2142d13dea5e25b65c0922c1fb5d5aafdf9..76804b0ab58937528ec6c83c4fbfe9a0b7607a10 100644 (file)
@@ -28,7 +28,7 @@
 # define HT_ASSERT(c) ZEND_ASSERT(c)
 #else
 # define HT_ASSERT(c)
-#endif 
+#endif
 
 #if ZEND_DEBUG
 /*
@@ -125,13 +125,13 @@ static void zend_always_inline zend_hash_real_init_ex(HashTable *ht, int packed)
        HT_ASSERT(GC_REFCOUNT(ht) == 1);
        ZEND_ASSERT(!((ht)->u.flags & HASH_FLAG_INITIALIZED));
        if (packed) {
-               (ht)->u.flags |= HASH_FLAG_INITIALIZED | HASH_FLAG_PACKED;
                HT_SET_DATA_ADDR(ht, pemalloc(HT_SIZE(ht), (ht)->u.flags & HASH_FLAG_PERSISTENT));
+               (ht)->u.flags |= HASH_FLAG_INITIALIZED | HASH_FLAG_PACKED;
                HT_HASH_RESET_PACKED(ht);
        } else {
-               (ht)->u.flags |= HASH_FLAG_INITIALIZED;
                (ht)->nTableMask = -(ht)->nTableSize;
                HT_SET_DATA_ADDR(ht, pemalloc(HT_SIZE(ht), (ht)->u.flags & HASH_FLAG_PERSISTENT));
+               (ht)->u.flags |= HASH_FLAG_INITIALIZED;
                HT_HASH_RESET(ht);
        }
 }