From dcbb92e817d844c2d353a55aa0b970a45c0cf71e Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 15 Mar 2024 16:31:01 +0800 Subject: [PATCH] fix: memory leak when alter json tag to NULL --- include/common/tmsg.h | 2 +- source/libs/parser/src/parTranslater.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/common/tmsg.h b/include/common/tmsg.h index 03954e789e..4c5ccd1a3e 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -2820,7 +2820,7 @@ typedef struct { char* tagName; int8_t isNull; int8_t tagType; - int8_t nullToken; + int8_t tagFree; uint32_t nTagVal; uint8_t* pTagVal; SArray* pTagArray; diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 1290a640cb..3bfa2122f6 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -10443,7 +10443,7 @@ static int32_t buildUpdateTagValReq(STranslateContext* pCxt, SAlterTableStmt* pS code = parseTagValue(&pCxt->msgBuf, &tagStr, pTableMeta->tableInfo.precision, pSchema, &token, NULL, pReq->pTagArray, &pTag); if (pSchema->type == TSDB_DATA_TYPE_JSON && token.type == TK_NULL && code == TSDB_CODE_SUCCESS) { - pReq->nullToken = true; + pReq->tagFree = true; } } if (TSDB_CODE_SUCCESS == code && tagStr) { @@ -10706,7 +10706,7 @@ static void destoryAlterTbReq(SVAlterTbReq* pReq) { } } taosArrayDestroy(pReq->pTagArray); - if(pReq->nullToken) tTagFree((STag*)pReq->pTagVal); + if(pReq->tagFree) tTagFree((STag*)pReq->pTagVal); } static int32_t rewriteAlterTableImpl(STranslateContext* pCxt, SAlterTableStmt* pStmt, STableMeta* pTableMeta,