From d2d6a6078a4b0b1f1d028877e56d61b933ab685c Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Mon, 23 Sep 2024 10:23:41 +0800 Subject: [PATCH] fix: memory leak in group cache issue --- source/libs/executor/src/groupcacheoperator.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/libs/executor/src/groupcacheoperator.c b/source/libs/executor/src/groupcacheoperator.c index 06706b57ee..45540d528e 100644 --- a/source/libs/executor/src/groupcacheoperator.c +++ b/source/libs/executor/src/groupcacheoperator.c @@ -375,6 +375,7 @@ _return: static int32_t addBlkToDirtyBufList(SGroupCacheOperatorInfo* pGCache, SGcDownstreamCtx* pCtx, SGcBlkCacheInfo* pCache, SGcBlkBufInfo* pBufInfo) { if (0 != taosHashPut(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId), pBufInfo, sizeof(*pBufInfo))) { + freeGcBlkBufInfo(pBufInfo); return TSDB_CODE_OUT_OF_MEMORY; } pBufInfo = taosHashGet(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId)); @@ -1241,7 +1242,7 @@ _return: void freeGcBlkBufInfo(void* ptr) { SGcBlkBufInfo* pBlk = (SGcBlkBufInfo*)ptr; - taosMemoryFree(pBlk->pBuf); + taosMemoryFreeClear(pBlk->pBuf); } static int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo) {