From f40b0263eb5bc50df939a588829ae28cb8786372 Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@c-s.fr>
Date: Mon, 25 Jun 2012 11:12:13 +0200
Subject: [PATCH] BUG: protect against wrong mode

---
 .../OGRAdapters/otbOGRDataSourceWrapper.cxx                  | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
index de5f6b99cc..0e2cc58e1e 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRDataSourceWrapper.cxx
@@ -224,6 +224,11 @@ void DeleteDataSource(std::string const& datasourceName)
 otb::ogr::DataSource::Pointer
 otb::ogr::DataSource::New(std::string const& datasourceName, Modes::type mode)
 {
+  if (mode < Modes::Read || mode >= Modes::MAX__)
+    {
+    itkGenericExceptionMacro(<< "Wrong mode when opening " << datasourceName);
+    }
+
   Drivers::Init();
 
   if (mode == Modes::Overwrite)
-- 
GitLab