From ee7cd71e09e3e5f49e1a7bb7b7e31855c046efcb Mon Sep 17 00:00:00 2001 From: Shungang Li Date: Mon, 12 Aug 2024 19:57:15 +0800 Subject: [PATCH] fix: add size limit for create table batch msg --- source/libs/parser/src/parTranslater.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 03c3355920..6218fd1a57 100755 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -13177,6 +13177,10 @@ static int32_t serializeVgroupCreateTableBatch(SVgroupCreateTableBatch* pTbBatch if (TSDB_CODE_SUCCESS != ret) { return ret; } + if (tlen >= TSDB_MAX_MSG_SIZE - sizeof(SMsgHead)) { + return TSDB_CODE_INVALID_MSG_LEN; + } + tlen += sizeof(SMsgHead); void* buf = taosMemoryMalloc(tlen); if (NULL == buf) { @@ -14014,6 +14018,7 @@ int32_t serializeVgroupsCreateTableBatch(SHashObj* pVgroupHashmap, SArray** pOut code = serializeVgroupCreateTableBatch(pTbBatch, pBufArray); if (TSDB_CODE_SUCCESS != code) { + qError("failed to serialize create table batch msg, since:%s", tstrerror(code)); taosHashCancelIterate(pVgroupHashmap, pTbBatch); break; }