fix:[TD-31264] fix wrong result when using concat multi-byte character with nchar.

This commit is contained in:
sima 2024-08-06 16:26:32 +08:00
parent 2d57e77df8
commit c48d377582
1 changed files with 2 additions and 2 deletions

View File

@ -401,8 +401,8 @@ static int32_t concatCopyHelper(const char *input, char *output, bool hasNchar,
taosMemoryFree(newBuf); taosMemoryFree(newBuf);
return TSDB_CODE_SCALAR_CONVERT_ERROR; return TSDB_CODE_SCALAR_CONVERT_ERROR;
} }
(void)memcpy(varDataVal(output) + *dataLen, newBuf, varDataLen(input) * TSDB_NCHAR_SIZE); (void)memcpy(varDataVal(output) + *dataLen, newBuf, len);
*dataLen += varDataLen(input) * TSDB_NCHAR_SIZE; *dataLen += len;
taosMemoryFree(newBuf); taosMemoryFree(newBuf);
} else { } else {
(void)memcpy(varDataVal(output) + *dataLen, varDataVal(input), varDataLen(input)); (void)memcpy(varDataVal(output) + *dataLen, varDataVal(input), varDataLen(input));