summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-01-15 18:05:58 +0300
committerDmitry Stogov <dmitry@zend.com>2015-01-15 18:05:58 +0300
commit34723d1b75cb6b9a686c6643ac194e86c0c95f74 (patch)
treeafda365463e9f42072e90a73f65f92ea7f98213c
parent27efc2b2ce1b7b59939c276e26d4e31307d98b88 (diff)
downloadphp-git-34723d1b75cb6b9a686c6643ac194e86c0c95f74.tar.gz
Fixed malloc/emalloc mess
-rw-r--r--Zend/zend_hash.c4
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);