From 53978c440d9d8889cc9b873fdaed2f56e354e997 Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@orfeo-toolbox.org> Date: Wed, 4 Feb 2015 17:34:08 +0100 Subject: [PATCH] COV: Fixing coverities medium issues for OssimPlugins --- .../RadarSat/CommonRecord/RadiometricData.cpp | 2 +- .../ossim/ossimGeometricSarSensorModel.cpp | 28 +++++++++++++------ .../ossim/ossimRadarSat2Model.cpp | 6 +++- .../ossim/ossimRadarSat2RPCModel.cpp | 6 +++- .../ossim/otb/HermiteInterpolator.cpp | 2 +- .../ossim/otb/SensorParams.cpp | 1 - 6 files changed, 31 insertions(+), 14 deletions(-) diff --git a/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp index b8a4e4022e..e7adce638d 100644 --- a/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp +++ b/Utilities/otbossimplugins/ossim/RadarSat/CommonRecord/RadiometricData.cpp @@ -160,7 +160,7 @@ RadiometricData& RadiometricData::operator=(const RadiometricData& rhs) _n_data = rhs._n_data; - _field_size = _field_size; + _field_size = rhs._field_size; _chan_ind = rhs._chan_ind; diff --git a/Utilities/otbossimplugins/ossim/ossimGeometricSarSensorModel.cpp b/Utilities/otbossimplugins/ossim/ossimGeometricSarSensorModel.cpp index cc0ab80e81..a111712063 100644 --- a/Utilities/otbossimplugins/ossim/ossimGeometricSarSensorModel.cpp +++ b/Utilities/otbossimplugins/ossim/ossimGeometricSarSensorModel.cpp @@ -69,7 +69,14 @@ namespace ossimplugins _imageFilename(rhs._imageFilename), _productXmlFile(rhs._productXmlFile) { - _sarSensor = new SarSensor(_sensor,_platformPosition); + if(_sensor && _platformPosition) + { + _sarSensor = new SarSensor(_sensor,_platformPosition); + } + else + { + _sarSensor = NULL; + } } ossimGeometricSarSensorModel::~ossimGeometricSarSensorModel() @@ -248,14 +255,17 @@ namespace ossimplugins ++itEstimatedCoords; } - xErrorMean /= nbPoints ; - yErrorMean /= nbPoints ; - xActualMean /= nbPoints ; - yActualMean /= nbPoints ; - xActualPow /= nbPoints ; - yActualPow /= nbPoints ; - xErrorByActualMean /= nbPoints ; - yErrorByActualMean /= nbPoints ; + if(nbPoints>0) + { + xErrorMean /= nbPoints ; + yErrorMean /= nbPoints ; + xActualMean /= nbPoints ; + yActualMean /= nbPoints ; + xActualPow /= nbPoints ; + yActualPow /= nbPoints ; + xErrorByActualMean /= nbPoints ; + yErrorByActualMean /= nbPoints ; + } // linear regression if (fabs(xActualPow - xActualMean*xActualMean) > FLT_EPSILON) diff --git a/Utilities/otbossimplugins/ossim/ossimRadarSat2Model.cpp b/Utilities/otbossimplugins/ossim/ossimRadarSat2Model.cpp index 5f361043d7..7ab9ac8af1 100644 --- a/Utilities/otbossimplugins/ossim/ossimRadarSat2Model.cpp +++ b/Utilities/otbossimplugins/ossim/ossimRadarSat2Model.cpp @@ -205,7 +205,11 @@ bool ossimRadarSat2Model::open(const ossimFilename& file) } // Set the base class gsd: + if(result) + { result = rsDoc.initGsd(xdoc, theGSD); + } + if (result) { theMeanGSD = (theGSD.x + theGSD.y)/2.0; @@ -462,7 +466,7 @@ bool ossimRadarSat2Model::InitPlatformPosition(const ossimKeywordlist &kwl, cons if (! ossim::iso8601TimeStringToCivilDate(utcString, eph_civil_date)) { - delete ephemeris; + delete [] ephemeris; return false; } diff --git a/Utilities/otbossimplugins/ossim/ossimRadarSat2RPCModel.cpp b/Utilities/otbossimplugins/ossim/ossimRadarSat2RPCModel.cpp index c337d7d109..de872568aa 100644 --- a/Utilities/otbossimplugins/ossim/ossimRadarSat2RPCModel.cpp +++ b/Utilities/otbossimplugins/ossim/ossimRadarSat2RPCModel.cpp @@ -204,7 +204,11 @@ bool ossimRadarSat2RPCModel::open(const ossimFilename& file) } // Set the base class gsd: - result = rsDoc.initGsd(xdoc, theGSD); + if(result) + { + result = rsDoc.initGsd(xdoc, theGSD); + } + if (result) { theMeanGSD = (theGSD.x + theGSD.y)/2.0; diff --git a/Utilities/otbossimplugins/ossim/otb/HermiteInterpolator.cpp b/Utilities/otbossimplugins/ossim/otb/HermiteInterpolator.cpp index 2731dcc407..0decfda00a 100644 --- a/Utilities/otbossimplugins/ossim/otb/HermiteInterpolator.cpp +++ b/Utilities/otbossimplugins/ossim/otb/HermiteInterpolator.cpp @@ -86,7 +86,7 @@ HermiteInterpolator::HermiteInterpolator(int nbrPoints, double* x, double* y, do */ // if (theXValues[i] <= theXValues[i-1]) // std::cerr << "WARNING: Hermite interpolation assumes increasing x values" << std::endl; - assert(theXValues[i] > theXValues[i-1]); + assert(theXValues && theXValues[i] > theXValues[i-1]); } } diff --git a/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp b/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp index 4cf3903175..eabce5463c 100644 --- a/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp +++ b/Utilities/otbossimplugins/ossim/otb/SensorParams.cpp @@ -252,7 +252,6 @@ bool SensorParams::loadState(const ossimKeywordlist& kwl, const char* prefix) { result = false; } - return result; lookup = kwl.find(pfx.c_str(), DOPCENLINEAR_KW); if (lookup) -- GitLab