From e31ee23fbb366b1dcfafa2021e56452c1db4c9e4 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Thu, 4 Aug 2022 15:44:42 +0800 Subject: [PATCH 1/2] fix(query): fix memory leak. --- source/libs/scalar/src/sclvector.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/libs/scalar/src/sclvector.c b/source/libs/scalar/src/sclvector.c index 254c99f05d..aaa70ef5ae 100644 --- a/source/libs/scalar/src/sclvector.c +++ b/source/libs/scalar/src/sclvector.c @@ -1094,6 +1094,7 @@ static SColumnInfoData* doVectorConvert(SScalarParam* pInput, int32_t* doConvert static void doReleaseVec(SColumnInfoData* pCol, int32_t type) { if (type == VECTOR_DO_CONVERT) { colDataDestroy(pCol); + taosMemoryFree(pCol); } } From b04efe3c25848ae4d8a1d213abd3ffc5f53013a3 Mon Sep 17 00:00:00 2001 From: Haojun Liao Date: Thu, 4 Aug 2022 17:14:50 +0800 Subject: [PATCH 2/2] fix(query): fix memory leak. --- source/libs/executor/src/executorimpl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/libs/executor/src/executorimpl.c b/source/libs/executor/src/executorimpl.c index 01670efbb1..ae7e529ec1 100644 --- a/source/libs/executor/src/executorimpl.c +++ b/source/libs/executor/src/executorimpl.c @@ -4076,6 +4076,7 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo SPhysiNode* pChildNode = (SPhysiNode*)nodesListGetNode(pPhyNode->pChildren, i); ops[i] = createOperatorTree(pChildNode, pTaskInfo, pHandle, pTableListInfo, pTagCond, pTagIndexCond, pUser); if (ops[i] == NULL) { + taosMemoryFree(ops); return NULL; } else { ops[i]->resultDataBlockId = pChildNode->pOutputDataBlockDesc->dataBlockId; @@ -4517,7 +4518,7 @@ int32_t createExecTaskInfoImpl(SSubplan* pPlan, SExecTaskInfo** pTaskInfo, SRead return code; _complete: - taosMemoryFreeClear(*pTaskInfo); + doDestroyTask(*pTaskInfo); terrno = code; return code; }