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