File tree 1 file changed +6
-3
lines changed 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -342,12 +342,15 @@ ZEND_API void ZEND_FASTCALL zend_hash_packed_to_hash(HashTable *ht)
342
342
void * new_data , * old_data = HT_GET_DATA_ADDR (ht );
343
343
Bucket * old_buckets = ht -> arData ;
344
344
uint32_t nSize = ht -> nTableSize ;
345
- uint32_t nNewSize = nSize >= HT_MIN_SIZE_UNPACKED ? nSize : HT_MIN_SIZE_UNPACKED ;
345
+ if (nSize < HT_MIN_SIZE_UNPACKED ) {
346
+ nSize = HT_MIN_SIZE_UNPACKED ;
347
+ ht -> nTableSize = HT_MIN_SIZE_UNPACKED ;
348
+ }
346
349
347
350
HT_ASSERT_RC1 (ht );
348
351
HT_FLAGS (ht ) &= ~HASH_FLAG_PACKED ;
349
- new_data = pemalloc (HT_SIZE_EX (nNewSize , HT_SIZE_TO_MASK (nNewSize )), GC_FLAGS (ht ) & IS_ARRAY_PERSISTENT );
350
- ht -> nTableMask = HT_SIZE_TO_MASK (nNewSize );
352
+ new_data = pemalloc (HT_SIZE_EX (nSize , HT_SIZE_TO_MASK (nSize )), GC_FLAGS (ht ) & IS_ARRAY_PERSISTENT );
353
+ ht -> nTableMask = HT_SIZE_TO_MASK (nSize );
351
354
HT_SET_DATA_ADDR (ht , new_data );
352
355
memcpy (ht -> arData , old_buckets , sizeof (Bucket ) * ht -> nNumUsed );
353
356
pefree (old_data , GC_FLAGS (ht ) & IS_ARRAY_PERSISTENT );
You can’t perform that action at this time.
0 commit comments