From e76aa16c21a5bdb0265bd03f2d95dcdd4c899fe6 Mon Sep 17 00:00:00 2001 From: Shaun Roe <Shaun.Roe@cern.ch> Date: Mon, 30 Jan 2017 09:38:02 +0100 Subject: [PATCH] fix coverity 111518,111519 (TrkParametersBase-01-02-33) * attempt to fix coverity: 111518 23/08/2016 (Medium) Uninitialized scalar field :/build/AtlasOffline-22.0.X/22.0.X/AtlasConditions/rel_5/InstallArea/x86_64-slc6-gcc49-opt/src/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h in function "CurvilinearParametersT" 111519 23/08/2016 (Low) Missing copy constructor :/build/AtlasOffline-22.0.X/22.0.X/AtlasConditions/rel_5/InstallArea/x86_64-slc6-gcc49-opt/src/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.icc in function "ParametersT" * tag as TrkParametersBase-01-02-33 --- .../TrkParametersBase/CurvilinearParametersT.h | 2 +- .../TrkParametersBase/ParametersT.icc | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h index d4ef16823bc..2686f42d8b1 100644 --- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h +++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/CurvilinearParametersT.h @@ -122,7 +122,7 @@ namespace Trk mutable std::unique_ptr<CurvilinearUVT> m_curvilinearFrame; /** the curvilinear parameters identifier */ - unsigned int m_cIdentifier; + unsigned int m_cIdentifier=0; }; }//end of namespace Trk diff --git a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.icc b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.icc index 8897736c254..5d62f06cc38 100644 --- a/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.icc +++ b/Tracking/TrkEvent/TrkParametersBase/TrkParametersBase/ParametersT.icc @@ -198,7 +198,7 @@ namespace Trk // Move constructor template<int DIM,class T,class S> ParametersT<DIM,T,S>::ParametersT(ParametersT<DIM,T,S>&& rhs): - ParametersBase<DIM,T>(std::move(rhs)), + ParametersBase<DIM,T>(std::forward<ParametersBase<DIM,T> >(rhs)), m_parameters(std::move(rhs.m_parameters)), m_covariance(rhs.m_covariance), m_position(std::move(rhs.position())), @@ -219,12 +219,10 @@ namespace Trk ParametersBase<DIM,T>::operator=(rhs); // delete surface - if(m_surface && m_surface->isFree()) - delete m_surface; + if(m_surface && m_surface->isFree()) delete m_surface; // delete the covariance if there - if(m_covariance) - delete m_covariance; + if(m_covariance) delete m_covariance; // now assign m_parameters = rhs.m_parameters; @@ -246,11 +244,9 @@ namespace Trk { ParametersBase<DIM,T>::operator=(std::move(rhs)); - if(m_surface && m_surface->isFree()) - delete m_surface; + if(m_surface && m_surface->isFree()) delete m_surface; - if(m_covariance) - delete m_covariance; + if(m_covariance) delete m_covariance; m_parameters = std::move(rhs.m_parameters); m_covariance = rhs.m_covariance; @@ -350,8 +346,8 @@ namespace Trk // compare covariance if(((covariance() != 0) && - (pCasted->covariance() != 0) && - !covariance()->isApprox(*pCasted->covariance(),tolerance)) + (pCasted->covariance() != 0) && + !covariance()->isApprox(*pCasted->covariance(),tolerance)) || (!covariance() != !pCasted->covariance())) // <-- this is: covariance() XOR pCast->covariance() return false; -- GitLab