From 99c24492ada06e81f22db4718a0653136794d567 Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@orfeo-toolbox.org> Date: Tue, 3 Feb 2015 11:41:12 +0100 Subject: [PATCH] COV: Fixing coverity issues (unchecked dynamic cast) --- Code/IO/otbImageToOSMVectorDataGenerator.txx | 5 +++++ Code/IO/otbOGRVectorDataIO.cxx | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/Code/IO/otbImageToOSMVectorDataGenerator.txx b/Code/IO/otbImageToOSMVectorDataGenerator.txx index 453e876e28..87f2ec062a 100644 --- a/Code/IO/otbImageToOSMVectorDataGenerator.txx +++ b/Code/IO/otbImageToOSMVectorDataGenerator.txx @@ -31,6 +31,11 @@ ImageToOSMVectorDataGenerator<TImage> { this->SetNumberOfRequiredInputs(1); this->SetNumberOfRequiredOutputs(1); + + m_ImageExtent.minX = 0; + m_ImageExtent.maxX = 0; + m_ImageExtent.minY = 0; + m_ImageExtent.maxY = 0; } template < class TImage > diff --git a/Code/IO/otbOGRVectorDataIO.cxx b/Code/IO/otbOGRVectorDataIO.cxx index c2d1aae4e4..cd2b744bda 100644 --- a/Code/IO/otbOGRVectorDataIO.cxx +++ b/Code/IO/otbOGRVectorDataIO.cxx @@ -80,6 +80,12 @@ OGRVectorDataIO { VectorDataPointerType data = dynamic_cast<VectorDataType*>(datag); // Destroy previous opened data source + + if(!data) + { + itkExceptionMacro(<<"Failed to dynamic cast to otb::VectorData (this should never happen)"); + } + if (m_DataSource != NULL) { OGRDataSource::DestroyDataSource(m_DataSource); @@ -195,6 +201,12 @@ void OGRVectorDataIO::Write(const itk::DataObject* datag, char ** papszOptions) VectorDataConstPointerType data = dynamic_cast<const VectorDataType*>(datag); + if(!data) + { + itkExceptionMacro(<<"Failed to dynamic cast to otb::VectorData (this should never happen)."); + } + + //Find first the OGR driver OGRSFDriver * ogrDriver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(this->GetOGRDriverName(this->m_FileName).data()); -- GitLab