From a88a896dc64464f4c8bc9c04f18c9bd9165f44db Mon Sep 17 00:00:00 2001 From: Shaun Roe <shaun.roe@cern.ch> Date: Wed, 21 Jul 2021 13:37:17 +0200 Subject: [PATCH] solve resource leak upon error condition --- .../src/CompetingTRT_DriftCirclesOnTrackTool.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx index bb8b5598d053..1c0f018dabcb 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx @@ -868,6 +868,7 @@ InDet::CompetingTRT_DriftCirclesOnTrackTool::createSimpleCompetingROT( const InDet::TRT_DriftCircleOnTrack* dc1 = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> ( ROTvector->at(0)); if (!dc1) { + delete DCvector; throw std::logic_error("Not a TRT_DriftCircleOnTrack"); } DCvector->push_back(dc1); @@ -875,6 +876,7 @@ InDet::CompetingTRT_DriftCirclesOnTrackTool::createSimpleCompetingROT( const InDet::TRT_DriftCircleOnTrack* dc2 = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*>( ROTvector->at(1)); if (!dc2) { + delete DCvector; throw std::logic_error("Not a TRT_DriftCircleOnTrack"); } DCvector->push_back(dc2); -- GitLab