From 4674f18a4bd7cb6788f16a0e5adb28ae1cd0107c Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Fri, 20 Nov 2015 06:54:57 -0800 Subject: Improved previously fix a little --- Zend/zend_ini_parser.y | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index d6f33159d8..015a2d61b0 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -106,21 +106,19 @@ static void zend_ini_add_string(zval *result, zval *op1, zval *op2) if (Z_TYPE_P(op1) != IS_STRING) { zend_string *str = zval_get_string(op1); - ZVAL_PSTRINGL(op1, str->val, str->len); + /* ZEND_ASSERT(!Z_REFCOUNTED_P(op1)); */ + ZVAL_PSTRINGL(op1, ZSTR_VAL(str), ZSTR_LEN(str)); zend_string_release(str); } op1_len = (int)Z_STRLEN_P(op1); if (Z_TYPE_P(op2) != IS_STRING) { - zend_string *str = zval_get_string(op2); - ZVAL_PSTRINGL(op2, str->val, str->len); - zend_string_release(str); + convert_to_string(op2); } length = op1_len + (int)Z_STRLEN_P(op2); ZVAL_NEW_STR(result, zend_string_extend(Z_STR_P(op1), length, 1)); - memcpy(Z_STRVAL_P(result)+op1_len, Z_STRVAL_P(op2), Z_STRLEN_P(op2)); - Z_STRVAL_P(result)[length] = 0; + memcpy(Z_STRVAL_P(result) + op1_len, Z_STRVAL_P(op2), Z_STRLEN_P(op2) + 1); } /* }}} */ -- cgit v1.2.1