fix: memory leak in group cache issue

This commit is contained in:
dapan1121 2024-09-23 10:23:41 +08:00
parent 373aaeaf0d
commit d2d6a6078a
1 changed files with 2 additions and 1 deletions

View File

@ -375,6 +375,7 @@ _return:
static int32_t addBlkToDirtyBufList(SGroupCacheOperatorInfo* pGCache, SGcDownstreamCtx* pCtx, SGcBlkCacheInfo* pCache, SGcBlkBufInfo* pBufInfo) { 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))) { if (0 != taosHashPut(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId), pBufInfo, sizeof(*pBufInfo))) {
freeGcBlkBufInfo(pBufInfo);
return TSDB_CODE_OUT_OF_MEMORY; return TSDB_CODE_OUT_OF_MEMORY;
} }
pBufInfo = taosHashGet(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId)); pBufInfo = taosHashGet(pCache->pDirtyBlk, &pBufInfo->basic.blkId, sizeof(pBufInfo->basic.blkId));
@ -1241,7 +1242,7 @@ _return:
void freeGcBlkBufInfo(void* ptr) { void freeGcBlkBufInfo(void* ptr) {
SGcBlkBufInfo* pBlk = (SGcBlkBufInfo*)ptr; SGcBlkBufInfo* pBlk = (SGcBlkBufInfo*)ptr;
taosMemoryFree(pBlk->pBuf); taosMemoryFreeClear(pBlk->pBuf);
} }
static int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo) { static int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo) {