From ef7a25fdc3461f7823f8cdc72a5079f9f0355b7d Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Sat, 2 Jul 2022 16:01:19 +0800 Subject: [PATCH] fix: fix the var data len --- source/common/src/trow.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/common/src/trow.c b/source/common/src/trow.c index 4158bc4408..b38f29e72e 100644 --- a/source/common/src/trow.c +++ b/source/common/src/trow.c @@ -1238,13 +1238,13 @@ int32_t tdSTSRowNew(SArray *pArray, STSchema *pTSchema, STSRow **ppRow) { varDataLen += sizeof(VarDataLenT); if (pTColumn->type == TSDB_DATA_TYPE_VARCHAR) { varDataLen += CHAR_BYTES; - if (maxVarDataLen < CHAR_BYTES) { - maxVarDataLen = CHAR_BYTES; + if (maxVarDataLen < CHAR_BYTES + sizeof(VarDataLenT)) { + maxVarDataLen = CHAR_BYTES + sizeof(VarDataLenT); } } else { varDataLen += INT_BYTES; - if (maxVarDataLen < INT_BYTES) { - maxVarDataLen = INT_BYTES; + if (maxVarDataLen < INT_BYTES + sizeof(VarDataLenT)) { + maxVarDataLen = INT_BYTES + sizeof(VarDataLenT); } } } @@ -1263,7 +1263,7 @@ int32_t tdSTSRowNew(SArray *pArray, STSchema *pTSchema, STSRow **ppRow) { } if (maxVarDataLen > 0) { - varBuf = taosMemoryMalloc(maxVarDataLen + sizeof(VarDataLenT)); + varBuf = taosMemoryMalloc(maxVarDataLen); if (!varBuf) { taosMemoryFreeClear(*ppRow); terrno = TSDB_CODE_OUT_OF_MEMORY; -- GitLab