From f89fa72199135a473c5637fbfcad530c75c8fe84 Mon Sep 17 00:00:00 2001 From: "s.zharko@gsi.de" <s.zharko@gsi.de> Date: Fri, 21 Jul 2023 15:29:18 +0200 Subject: [PATCH] QA checker: memory leak fixes --- core/qa/checker/CbmQaCheckerFileHandler.cxx | 11 ++++++++++- core/qa/checker/CbmQaCheckerObjectHandler.cxx | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/core/qa/checker/CbmQaCheckerFileHandler.cxx b/core/qa/checker/CbmQaCheckerFileHandler.cxx index 75c8d0cd97..93c46c396a 100644 --- a/core/qa/checker/CbmQaCheckerFileHandler.cxx +++ b/core/qa/checker/CbmQaCheckerFileHandler.cxx @@ -160,9 +160,18 @@ void FileHandler::Process(Option_t* opt) for (int iVer = 0; iVer < nVersions; ++iVer) { if (fpObjDB->GetCmpResult(fDatasetID, fFileID, iObj, iVer)) { areDifferent = true; } } - if (areDifferent) { pObjHandler->CreateCanvases(); } + if (true || areDifferent) { pObjHandler->CreateCanvases(); } } pObjHandler->Write(); + + // Clean memory + for (auto* pObj: vpObjects) { + if (pObj) { + delete pObj; + pObj = nullptr; + } + } + } // iObj } diff --git a/core/qa/checker/CbmQaCheckerObjectHandler.cxx b/core/qa/checker/CbmQaCheckerObjectHandler.cxx index ae1f545e41..180f5e59f3 100644 --- a/core/qa/checker/CbmQaCheckerObjectHandler.cxx +++ b/core/qa/checker/CbmQaCheckerObjectHandler.cxx @@ -30,7 +30,15 @@ ObjectHandler::ObjectHandler(int iObject, int iFile, int iDataset, const char* o // --------------------------------------------------------------------------------------------------------------------- // -ObjectHandler::~ObjectHandler() {} +ObjectHandler::~ObjectHandler() +{ + for (auto* pObj: fvpObjects) { + if (pObj) { + delete pObj; + pObj = nullptr; + } + } +} // --------------------------------------------------------------------------------------------------------------------- // -- GitLab