From: Stanislav Malyshev Date: Mon, 1 Jun 2015 02:37:56 +0000 (-0700) Subject: set initialized flag after actual initialization happened X-Git-Tag: php-7.0.0alpha1~58 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60e92a3b8489292929591f30cbc70bab453621bc;p=php set initialized flag after actual initialization happened --- diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 75bcb2142d..76804b0ab5 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -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); } }