From 659339e1e01fdc395ebdfeb63924ec0db4ac6f8c Mon Sep 17 00:00:00 2001 From: Goetz Gaycken <goetz.gaycken@cern.ch> Date: Thu, 22 Mar 2018 19:18:49 +0100 Subject: [PATCH] Fix uninitialized member. The maximum number of nodes per layer was not initialized in all constructors. This addresses coverity issues 118544 and 118543. --- .../TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx index 106a1d78978..6fe5aa83744 100644 --- a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx +++ b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx @@ -23,7 +23,7 @@ TTrainedNetwork::TTrainedNetwork() mLinearOutput=false; mNormalizeOutput=false; maxExpValue=log(std::numeric_limits<double>::max()); - + m_bufferSizeMax=0; } TTrainedNetwork::TTrainedNetwork(Int_t nInput, @@ -49,7 +49,17 @@ TTrainedNetwork::TTrainedNetwork(Int_t nInput, mLinearOutput = linearOutput; mNormalizeOutput = normalizeOutput; maxExpValue = log(std::numeric_limits<double>::max()); - + + int nlayer_max(mnOutput); + for (unsigned i = 0; i < mnHiddenLayerSize.size(); ++i) { + nlayer_max = std::max(nlayer_max, mnHiddenLayerSize[i]); + } + std::vector<TVectorD*>::const_iterator hidden_layer_threshold_vector_end = mThresholdVectors.end(); + hidden_layer_threshold_vector_end--; + for (std::vector<TVectorD*>::const_iterator tr_itr= mThresholdVectors.begin(); tr_itr != hidden_layer_threshold_vector_end; tr_itr++){ + nlayer_max = std::max(nlayer_max, (*tr_itr)->GetNrows()); + } + m_bufferSizeMax=nlayer_max; } void TTrainedNetwork::setOffsets(const std::vector<double>& offsets) -- GitLab