From a5424d210649c4d0143a0e62bdfb9ed0729c86b9 Mon Sep 17 00:00:00 2001 From: James Beacham <j.beacham@cern.ch> Date: Thu, 15 Nov 2018 13:39:35 +0000 Subject: [PATCH] Merge branch 'fix_ATLASSIM-3901' into '21.0' Fixing resource leak in ISF_FastCaloSimEvent (ATLASSIM-3901) See merge request atlas/athena!15904 (cherry picked from commit b5e4997a1b375ef0d25fc9e0042245d3b1f5d8f0) b17a5d0c deleting pointer --- .../python/iconfTool/gui/__init__.py | 0 .../python/iconfTool/utils/__init__.py | 0 .../src/TFCSEnergyBinParametrization.cxx | 10 ++++++---- 3 files changed, 6 insertions(+), 4 deletions(-) mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/gui/__init__.py mode change 100755 => 100644 Control/AthenaConfiguration/python/iconfTool/utils/__init__.py diff --git a/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py b/Control/AthenaConfiguration/python/iconfTool/gui/__init__.py old mode 100755 new mode 100644 diff --git a/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py b/Control/AthenaConfiguration/python/iconfTool/utils/__init__.py old mode 100755 new mode 100644 diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx index 2ec25babf36..5f1156e264d 100644 --- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx +++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimEvent/src/TFCSEnergyBinParametrization.cxx @@ -85,14 +85,14 @@ void TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(int { add_pdgid(id); - float* prob; + float* prob = nullptr; file->cd(); TVectorF* pcabinprobvector=(TVectorF*)gDirectory->Get(prob_object_name.c_str()); if(!pcabinprobvector) { - ATH_MSG_INFO("TFCSEnergyBinParametrization::"<<prob_object_name<<" is null. Using equal PCA probabilities."); + ATH_MSG_INFO("TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(): "<<prob_object_name<<" is null. Using equal PCA probabilities."); prob=new float[m_pdgid_Ebin_probability[id].size()]; @@ -109,8 +109,8 @@ void TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(int { if((unsigned int)pcabinprobvector->GetNoElements()!=m_pdgid_Ebin_probability[id].size()) { - ATH_MSG_ERROR("TFCSEnergyBinParametrization::set_pdgid_Ekin_bin_probability(): size of prob array does not match! in.size()="<<pcabinprobvector->GetNoElements()<<" instance="<<m_pdgid_Ebin_probability[id].size()); - return; + ATH_MSG_ERROR("TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(): size of prob array does not match! in.size()=" << pcabinprobvector->GetNoElements() << " instance=" << m_pdgid_Ebin_probability[id].size()); + return; } prob=pcabinprobvector->GetMatrixArray(); @@ -125,6 +125,8 @@ void TFCSEnergyBinParametrization::load_pdgid_Ekin_bin_probability_from_file(int p+=prob[iEbin]/ptot; m_pdgid_Ebin_probability[id][iEbin]=p; } + + if(prob) delete prob; } -- GitLab