From c277c03df49e8c007e86e4d864f38576ff624560 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Wed, 25 Mar 2026 22:30:53 +0530 Subject: [PATCH 1/3] Use *_add instead of *_update for new keys in array_count_values --- ext/standard/array.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index 87118cbd0ff24..bc57974030291 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4493,7 +4493,7 @@ PHP_FUNCTION(array_count_values) if ((tmp = zend_hash_index_find(Z_ARRVAL_P(return_value), Z_LVAL_P(entry))) == NULL) { zval data; ZVAL_LONG(&data, 1); - zend_hash_index_update(Z_ARRVAL_P(return_value), Z_LVAL_P(entry), &data); + zend_hash_index_add(Z_ARRVAL_P(return_value), Z_LVAL_P(entry), &data); } else { Z_LVAL_P(tmp)++; } @@ -4501,7 +4501,7 @@ PHP_FUNCTION(array_count_values) if ((tmp = zend_symtable_find(Z_ARRVAL_P(return_value), Z_STR_P(entry))) == NULL) { zval data; ZVAL_LONG(&data, 1); - zend_symtable_update(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data); + zend_symtable_add(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data); } else { Z_LVAL_P(tmp)++; } From cacc12deb424e02bde251ecb6b7ed8a5db42f62f Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Thu, 26 Mar 2026 10:37:17 +0530 Subject: [PATCH 2/3] Use *_add instead of *_update for new keys in array_count_values --- ext/standard/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index bc57974030291..4251ca60d745c 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4493,7 +4493,7 @@ PHP_FUNCTION(array_count_values) if ((tmp = zend_hash_index_find(Z_ARRVAL_P(return_value), Z_LVAL_P(entry))) == NULL) { zval data; ZVAL_LONG(&data, 1); - zend_hash_index_add(Z_ARRVAL_P(return_value), Z_LVAL_P(entry), &data); + zend_hash_index_add_new(Z_ARRVAL_P(return_value), Z_LVAL_P(entry), &data); } else { Z_LVAL_P(tmp)++; } From 61334555a754d0ad10bbd1d37a6cc2253bb13dd6 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Thu, 26 Mar 2026 19:31:11 +0530 Subject: [PATCH 3/3] ext/standard: zend_symtable_add_new --- ext/standard/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index 4251ca60d745c..f391829c676ab 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -4501,7 +4501,7 @@ PHP_FUNCTION(array_count_values) if ((tmp = zend_symtable_find(Z_ARRVAL_P(return_value), Z_STR_P(entry))) == NULL) { zval data; ZVAL_LONG(&data, 1); - zend_symtable_add(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data); + zend_symtable_add_new(Z_ARRVAL_P(return_value), Z_STR_P(entry), &data); } else { Z_LVAL_P(tmp)++; }