From a634425e3f92197559deb48d54e1fa6dbf2fe70b Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Sat, 14 Mar 2026 06:48:34 +0530 Subject: [PATCH 1/3] Use zend_string_init_fast() for single-character string creation --- Zend/Optimizer/sccp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/Optimizer/sccp.c b/Zend/Optimizer/sccp.c index a297f4f0e4a1d..63eff701b77fd 100644 --- a/Zend/Optimizer/sccp.c +++ b/Zend/Optimizer/sccp.c @@ -402,7 +402,7 @@ static inline zend_result ct_eval_fetch_dim(zval *result, zval *op1, zval *op2, return FAILURE; } if (index >= 0 && index < Z_STRLEN_P(op1)) { - ZVAL_STR(result, zend_string_init(&Z_STRVAL_P(op1)[index], 1, 0)); + ZVAL_STR(result, zend_string_init_fast(&Z_STRVAL_P(op1)[index], 1, 0)); return SUCCESS; } } From b0c228b74cd1a86c393f0b2ac28c61677734e968 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Sat, 14 Mar 2026 07:00:06 +0530 Subject: [PATCH 2/3] Use zend_string_init_fast() for single-character string creation --- Zend/Optimizer/sccp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/Optimizer/sccp.c b/Zend/Optimizer/sccp.c index 63eff701b77fd..c8e580814dc5f 100644 --- a/Zend/Optimizer/sccp.c +++ b/Zend/Optimizer/sccp.c @@ -402,7 +402,7 @@ static inline zend_result ct_eval_fetch_dim(zval *result, zval *op1, zval *op2, return FAILURE; } if (index >= 0 && index < Z_STRLEN_P(op1)) { - ZVAL_STR(result, zend_string_init_fast(&Z_STRVAL_P(op1)[index], 1, 0)); + ZVAL_STR(result, zend_string_init_fast(&Z_STRVAL_P(op1)[index], 1)); return SUCCESS; } } From aadf4c40f9253e30a8d04ecfe3375ac8477b3b87 Mon Sep 17 00:00:00 2001 From: arshidkv12 Date: Sat, 14 Mar 2026 14:30:14 +0530 Subject: [PATCH 3/3] Use ZVAL_CHAR for single-character string creation --- Zend/Optimizer/sccp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/Optimizer/sccp.c b/Zend/Optimizer/sccp.c index c8e580814dc5f..60afe3165f775 100644 --- a/Zend/Optimizer/sccp.c +++ b/Zend/Optimizer/sccp.c @@ -402,7 +402,7 @@ static inline zend_result ct_eval_fetch_dim(zval *result, zval *op1, zval *op2, return FAILURE; } if (index >= 0 && index < Z_STRLEN_P(op1)) { - ZVAL_STR(result, zend_string_init_fast(&Z_STRVAL_P(op1)[index], 1)); + ZVAL_CHAR(result, Z_STRVAL_P(op1)[index]); return SUCCESS; } }