diff options
-rw-r--r-- | Zend/zend_hash.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 31d25576c3..25461067d4 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -170,7 +170,7 @@ ZEND_API void zend_hash_to_packed(HashTable *ht) HANDLE_BLOCK_INTERRUPTIONS(); ht->u.flags |= HASH_FLAG_PACKED; ht->nTableMask = 0; - ht->arData = erealloc(ht->arData, ht->nTableSize * sizeof(Bucket)); + ht->arData = (Bucket *) perealloc(ht->arData, ht->nTableSize * sizeof(Bucket), ht->u.flags & HASH_FLAG_PERSISTENT); ht->arHash = (uint32_t*)&uninitialized_bucket; HANDLE_UNBLOCK_INTERRUPTIONS(); } @@ -1754,7 +1754,7 @@ ZEND_API int zend_hash_sort_ex(HashTable *ht, sort_func_t sort, compare_func_t c if (renumber) { ht->u.flags |= HASH_FLAG_PACKED; ht->nTableMask = 0; - ht->arData = erealloc(ht->arData, ht->nTableSize * sizeof(Bucket)); + ht->arData = perealloc(ht->arData, ht->nTableSize * sizeof(Bucket), ht->u.flags & HASH_FLAG_PERSISTENT); ht->arHash = (uint32_t*)&uninitialized_bucket; } else { zend_hash_rehash(ht); |