From 7971a68e3bc9d0181781b9a50b33b2974002a7af Mon Sep 17 00:00:00 2001
From: Ludovic Hussonnois <ludovic.hussonnois@c-s.fr>
Date: Fri, 20 Jan 2017 09:59:00 +0100
Subject: [PATCH] BUG : Mantis-1335 : Increase monteverdi stack size and
 correct Segfault when rsr parameter is not provided.

Monteverdi stack size is increase in order to use 6s code.
WavelengthSpectralBandVectorType wasn't initialized and result wasn't used.
---
 .../AppOpticalCalibration/app/otbOpticalCalibration.cxx   | 4 +++-
 Modules/Visualization/Monteverdi/src/CMakeLists.txt       | 8 ++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
index 93307da802..52dd349396 100644
--- a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
+++ b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
@@ -823,12 +823,14 @@ private:
           {
           otbAppLogWARNING("No relative spectral response found, using "
                            "default response (constant between 0.3 and 1.0µm)");
-          AcquiCorrectionParametersType::WavelengthSpectralBandVectorType spectralDummy;
+          AcquiCorrectionParametersType::WavelengthSpectralBandVectorType spectralDummy =
+                  AcquiCorrectionParametersType::InternalWavelengthSpectralBandVectorType::New();
           spectralDummy->Clear();
           for (unsigned int i = 0; i < inImage->GetNumberOfComponentsPerPixel(); ++i)
             {
               spectralDummy->PushBack(FilterFunctionValues::New());
             }
+          m_paramAcqui->SetWavelengthSpectralBand(spectralDummy);
           }
 
         // Aeronet file
diff --git a/Modules/Visualization/Monteverdi/src/CMakeLists.txt b/Modules/Visualization/Monteverdi/src/CMakeLists.txt
index 85e016f601..ab66fc6a2c 100644
--- a/Modules/Visualization/Monteverdi/src/CMakeLists.txt
+++ b/Modules/Visualization/Monteverdi/src/CMakeLists.txt
@@ -72,6 +72,14 @@ add_executable( monteverdi
   ${Monteverdi_App_WIN32_RC_FILE}
   ${OTBMonteverdi_RESOURCES_RCC}
   )
+
+# set monterverdi stack size to 10Mbytes on windows platform because
+# the default size with visual compiler it is 1Mbyte
+# which is to lower for us (thanks to 6S code).
+if (WIN32)
+  set_linker_stack_size_flag( monteverdi 10000000 )
+endif()
+
 target_link_libraries( monteverdi
   OTBMonteverdi
   )
-- 
GitLab