From c2528b8535e67e85328244757e91ff5138f359a6 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 9 Jan 2025 11:11:19 +0800 Subject: [PATCH] more code --- source/common/src/msg/tmsg.c | 2 +- source/common/src/tdataformat.c | 3 ++- source/dnode/vnode/src/vnd/vnodeSvr.c | 20 ++++++++++++++------ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/source/common/src/msg/tmsg.c b/source/common/src/msg/tmsg.c index bbe1eac631..f1ebcb3f42 100644 --- a/source/common/src/msg/tmsg.c +++ b/source/common/src/msg/tmsg.c @@ -11646,7 +11646,7 @@ static int32_t tEncodeSSubmitTbData(SEncoder *pCoder, const SSubmitTbData *pSubm SRow **rows = (SRow **)TARRAY_DATA(pSubmitTbData->aRowP); for (int32_t iRow = 0; iRow < TARRAY_SIZE(pSubmitTbData->aRowP); ++iRow) { - TAOS_CHECK_EXIT(tEncodeFixed(pCoder, rows[iRow], rows[iRow]->len)); + TAOS_CHECK_EXIT(tEncodeRow(pCoder, rows[iRow])); } } TAOS_CHECK_EXIT(tEncodeI64(pCoder, pSubmitTbData->ctimeMs)); diff --git a/source/common/src/tdataformat.c b/source/common/src/tdataformat.c index 0b82210283..f8f3c0f770 100644 --- a/source/common/src/tdataformat.c +++ b/source/common/src/tdataformat.c @@ -3828,7 +3828,8 @@ int32_t tDecodeRow(SDecoder *pDecoder, SRow **ppRow) { return TSDB_CODE_OUT_OF_RANGE; } - return tDecodeBinaryWithSize(pDecoder, ((SRow *)(pDecoder->data + pDecoder->pos))->len, (uint8_t **)ppRow); + SRow *pRow = (SRow *)(pDecoder->data + pDecoder->pos); + return tDecodeBinaryWithSize(pDecoder, pRow->len, (uint8_t **)ppRow); } #define CALC_SUM_MAX_MIN(SUM, MAX, MIN, VAL) \ diff --git a/source/dnode/vnode/src/vnd/vnodeSvr.c b/source/dnode/vnode/src/vnd/vnodeSvr.c index 3639da4b17..c7b0caf286 100644 --- a/source/dnode/vnode/src/vnd/vnodeSvr.c +++ b/source/dnode/vnode/src/vnd/vnodeSvr.c @@ -318,7 +318,12 @@ static int32_t vnodePreProcessSubmitTbData(SVnode *pVnode, SDecoder *pCoder, int } SColData colData = {0}; - tDecodeColData(version, pCoder, &colData); + code = tDecodeColData(version, pCoder, &colData); + if (code) { + code = TSDB_CODE_INVALID_MSG; + goto _exit; + } + if (colData.flag != HAS_VALUE) { code = TSDB_CODE_INVALID_MSG; goto _exit; @@ -332,7 +337,11 @@ static int32_t vnodePreProcessSubmitTbData(SVnode *pVnode, SDecoder *pCoder, int } for (uint64_t i = 1; i < nColData; i++) { - tDecodeColData(version, pCoder, &colData); + code = tDecodeColData(version, pCoder, &colData); + if (code) { + code = TSDB_CODE_INVALID_MSG; + goto _exit; + } } } else { uint64_t nRow; @@ -1448,8 +1457,7 @@ static int32_t vnodeProcessAlterTbReq(SVnode *pVnode, int64_t ver, void *pReq, i vAlterTbRsp.pMeta = &vMetaRsp; } - if (vAlterTbReq.action == TSDB_ALTER_TABLE_UPDATE_TAG_VAL || - vAlterTbReq.action == TSDB_ALTER_TABLE_UPDATE_MULTI_TAG_VAL) { + if (vAlterTbReq.action == TSDB_ALTER_TABLE_UPDATE_TAG_VAL || vAlterTbReq.action == TSDB_ALTER_TABLE_UPDATE_MULTI_TAG_VAL) { int64_t uid = metaGetTableEntryUidByName(pVnode->pMeta, vAlterTbReq.tbName); if (uid == 0) { vError("vgId:%d, %s failed at %s:%d since table %s not found", TD_VID(pVnode), __func__, __FILE__, __LINE__, @@ -1457,8 +1465,8 @@ static int32_t vnodeProcessAlterTbReq(SVnode *pVnode, int64_t ver, void *pReq, i goto _exit; } - SArray *tbUids = taosArrayInit(4, sizeof(int64_t)); - void *p = taosArrayPush(tbUids, &uid); + SArray* tbUids = taosArrayInit(4, sizeof(int64_t)); + void* p = taosArrayPush(tbUids, &uid); TSDB_CHECK_NULL(p, code, lino, _exit, terrno); vDebug("vgId:%d, remove tags value altered table:%s from query table list", TD_VID(pVnode), vAlterTbReq.tbName);