diff --git a/source/libs/scalar/src/scalar.c b/source/libs/scalar/src/scalar.c index d6c0989f19d66a3fb809080005ce044f7ce10488..6773f8192b54b94fd1d395b7c362a99897d4156a 100644 --- a/source/libs/scalar/src/scalar.c +++ b/source/libs/scalar/src/scalar.c @@ -517,10 +517,8 @@ EDealRes sclRewriteFunction(SNode** pNode, SScalarCtx *ctx) { res->node.resType = node->node.resType; int32_t type = output.columnData->info.type; if (IS_VAR_DATA_TYPE(type)) { - size_t tLen = varDataLen(output.columnData->pData); - ASSERT(tLen <= res->node.resType.bytes); res->datum.p = taosMemoryCalloc(res->node.resType.bytes + VARSTR_HEADER_SIZE + 1, 1); - memcpy(res->datum.p, output.columnData->pData, tLen); + memcpy(res->datum.p, output.columnData->pData, varDataTLen(output.columnData->pData)); } else { memcpy(nodesGetValueFromNode(res), output.columnData->pData, tDataTypes[type].bytes); }