From ebcb1e0c3617cdd5a40485add68daa69c66ce809 Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Mon, 2 Sep 2024 17:27:43 +0800 Subject: [PATCH] fix: correct validation --- source/common/src/tdatablock.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index d970b7ab88..0bfff81d46 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -3096,7 +3096,7 @@ int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const char** pEndPos for (int32_t i = 0; i < numOfCols; ++i) { colLen[i] = htonl(colLen[i]); - if (colLen[i] <= 0) { + if (colLen[i] < 0) { uError("block decode colLen:%d error, colIdx:%d", colLen[i], i); ASSERT(0); terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; @@ -3130,6 +3130,11 @@ int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const char** pEndPos if (colLen[i] > 0) { memcpy(pColInfoData->pData, pStart, colLen[i]); + } else if (!colDataIsNull_s(pColInfoData, 0)) { + uError("block decode colLen:%d error, colIdx:%d", colLen[i], i); + ASSERT(0); + terrno = TSDB_CODE_QRY_EXECUTOR_INTERNAL_ERROR; + return terrno; } // TODO