From 8c4e3b62b052be92d0e9b9b8f0d5e68ce2445143 Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Thu, 21 Apr 2022 15:19:58 +0800 Subject: [PATCH] fix(query): fix cast binary->binary trailing characters --- source/libs/scalar/src/sclfunc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/libs/scalar/src/sclfunc.c b/source/libs/scalar/src/sclfunc.c index f2e50cb5c9..c1030f5da7 100644 --- a/source/libs/scalar/src/sclfunc.c +++ b/source/libs/scalar/src/sclfunc.c @@ -715,7 +715,8 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp int32_t len = sprintf(varDataVal(output), "%.*s", (int32_t)(outputLen - VARSTR_HEADER_SIZE), *(int8_t *)input ? "true" : "false"); varDataSetLen(output, len); } else if (inputType == TSDB_DATA_TYPE_BINARY) { - int32_t len = sprintf(varDataVal(output), "%.*s", (int32_t)(outputLen - VARSTR_HEADER_SIZE), varDataVal(input)); + int32_t len = MIN(varDataLen(input), outputLen - VARSTR_HEADER_SIZE); + len = sprintf(varDataVal(output), "%.*s", len, varDataVal(input)); varDataSetLen(output, len); } else if (inputType == TSDB_DATA_TYPE_NCHAR) { //not support