From a2e0532c5441d90adf32c95aae58b2771687c4c6 Mon Sep 17 00:00:00 2001 From: xsren <285808407@qq.com> Date: Fri, 2 Aug 2024 16:50:01 +0800 Subject: [PATCH] mem leak --- source/libs/executor/src/executil.c | 1 + source/libs/executor/src/groupoperator.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/source/libs/executor/src/executil.c b/source/libs/executor/src/executil.c index 853b2865bb..5957d08a18 100644 --- a/source/libs/executor/src/executil.c +++ b/source/libs/executor/src/executil.c @@ -2001,6 +2001,7 @@ _end: taosMemoryFree(pFuncCtx[i].input.pData); taosMemoryFree(pFuncCtx[i].input.pColumnDataAgg); } + taosMemoryFreeClear(*rowEntryInfoOffset); taosMemoryFreeClear(pFuncCtx); return NULL; } diff --git a/source/libs/executor/src/groupoperator.c b/source/libs/executor/src/groupoperator.c index 706cf50270..d88aef8fb7 100644 --- a/source/libs/executor/src/groupoperator.c +++ b/source/libs/executor/src/groupoperator.c @@ -551,6 +551,10 @@ int32_t createGroupOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode* pAggNo pOperator->exprSupp.hasWindowOrGroup = true; SSDataBlock* pResBlock = createDataBlockFromDescNode(pAggNode->node.pOutputDataBlockDesc); + if (pResBlock == NULL) { + code = terrno; + goto _error; + } initBasicInfo(&pInfo->binfo, pResBlock); int32_t numOfScalarExpr = 0; @@ -602,6 +606,7 @@ _error: if (pInfo != NULL) { destroyGroupOperatorInfo(pInfo); } + destroyOperator(pOperator); taosMemoryFreeClear(pOperator); return code; }