fix memory leak
This commit is contained in:
parent
89e4b15d8e
commit
ea6c96df32
|
@ -30,6 +30,7 @@ extern "C" {
|
||||||
struct SSDataBlock;
|
struct SSDataBlock;
|
||||||
|
|
||||||
typedef struct SFillColInfo {
|
typedef struct SFillColInfo {
|
||||||
|
int32_t numOfFillExpr;
|
||||||
SExprInfo* pExpr;
|
SExprInfo* pExpr;
|
||||||
bool notFillCol; // denote if this column needs fill operation
|
bool notFillCol; // denote if this column needs fill operation
|
||||||
SVariant fillVal;
|
SVariant fillVal;
|
||||||
|
|
|
@ -635,6 +635,7 @@ SFillColInfo* createFillColInfo(SExprInfo* pExpr, int32_t numOfFillExpr, SExprIn
|
||||||
nodesValueNodeToVariant(pv, &pFillCol[i].fillVal);
|
nodesValueNodeToVariant(pv, &pFillCol[i].fillVal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pFillCol->numOfFillExpr = numOfFillExpr;
|
||||||
|
|
||||||
for (int32_t i = 0; i < numOfNoFillExpr; ++i) {
|
for (int32_t i = 0; i < numOfNoFillExpr; ++i) {
|
||||||
SExprInfo* pExprInfo = &pNotFillExpr[i];
|
SExprInfo* pExprInfo = &pNotFillExpr[i];
|
||||||
|
|
|
@ -661,6 +661,9 @@ void destroyTimeSliceOperatorInfo(void* param) {
|
||||||
taosArrayDestroy(pInfo->pLinearInfo);
|
taosArrayDestroy(pInfo->pLinearInfo);
|
||||||
cleanupExprSupp(&pInfo->scalarSup);
|
cleanupExprSupp(&pInfo->scalarSup);
|
||||||
|
|
||||||
|
for (int32_t i = 0; i < pInfo->pFillColInfo->numOfFillExpr; ++i) {
|
||||||
|
taosVariantDestroy(&pInfo->pFillColInfo[i].fillVal);
|
||||||
|
}
|
||||||
taosMemoryFree(pInfo->pFillColInfo);
|
taosMemoryFree(pInfo->pFillColInfo);
|
||||||
taosMemoryFreeClear(param);
|
taosMemoryFreeClear(param);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue