diff options
-rw-r--r-- | Zend/zend_hash.c | 3 |
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; |