-
-
Save anonymous/9fbe5ccbe8e18659bec11ac963fd07a3 to your computer and use it in GitHub Desktop.
Patch for 73832
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit 4cc0286f2f3780abc6084bcdae5dce595daa3c12 | |
Author: Stanislav Malyshev <stas@php.net> | |
Date: Mon Jan 2 20:14:05 2017 -0800 | |
Fix #73832 - leave the table in a safe state if the size is too big. | |
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c | |
index 322422d..8b54a39 100644 | |
--- a/Zend/zend_hash.c | |
+++ b/Zend/zend_hash.c | |
@@ -175,7 +175,6 @@ ZEND_API void ZEND_FASTCALL _zend_hash_init(HashTable *ht, uint32_t nSize, dtor_ | |
GC_REFCOUNT(ht) = 1; | |
GC_TYPE_INFO(ht) = IS_ARRAY; | |
ht->u.flags = (persistent ? HASH_FLAG_PERSISTENT : 0) | HASH_FLAG_APPLY_PROTECTION | HASH_FLAG_STATIC_KEYS; | |
- ht->nTableSize = zend_hash_check_size(nSize); | |
ht->nTableMask = HT_MIN_MASK; | |
HT_SET_DATA_ADDR(ht, &uninitialized_bucket); | |
ht->nNumUsed = 0; | |
@@ -183,6 +182,7 @@ ZEND_API void ZEND_FASTCALL _zend_hash_init(HashTable *ht, uint32_t nSize, dtor_ | |
ht->nInternalPointer = HT_INVALID_IDX; | |
ht->nNextFreeElement = 0; | |
ht->pDestructor = pDestructor; | |
+ ht->nTableSize = zend_hash_check_size(nSize); | |
} | |
static void ZEND_FASTCALL zend_hash_packed_grow(HashTable *ht) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment