summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_hash.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 70f4527af6..c00012c0a4 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -1269,6 +1269,9 @@ ZEND_API int zend_hash_update_current_key_ex(HashTable *ht, int key_type, const
if (key_type == HASH_KEY_IS_LONG) {
p->h = num_index;
+ if ((long)num_index >= (long)ht->nNextFreeElement) {
+ ht->nNextFreeElement = num_index < LONG_MAX ? num_index + 1 : LONG_MAX;
+ }
} else {
p->h = h;
p->nKeyLength = str_length;