From ec6e4e52c0fcd8f928272a9e4a1d757a358a6661 Mon Sep 17 00:00:00 2001 From: Jonathan Guinet <jonathan.guinet@c-s.fr> Date: Mon, 26 Sep 2011 15:15:21 +0200 Subject: [PATCH] BUG: bad memory access in ComputeInterval method from SpectralResponse class. --- Code/Simulation/otbSpectralResponse.txx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) mode change 100644 => 100755 Code/Simulation/otbSpectralResponse.txx diff --git a/Code/Simulation/otbSpectralResponse.txx b/Code/Simulation/otbSpectralResponse.txx old mode 100644 new mode 100755 index a64c12c47e..18298526f8 --- a/Code/Simulation/otbSpectralResponse.txx +++ b/Code/Simulation/otbSpectralResponse.txx @@ -239,7 +239,7 @@ SpectralResponse<TPrecision, TValuePrecision> while ((*it).second <= m_SensitivityThreshold) { ++it; - if (it == m_Response.end()) + if (it == (m_Response.end()-1)) { m_Interval.first = static_cast<TPrecision> (0.0); m_Interval.second = static_cast<TPrecision> (0.0); @@ -249,15 +249,16 @@ SpectralResponse<TPrecision, TValuePrecision> } m_Interval.first = (*it).first; - - while ((*it).second > m_SensitivityThreshold) + it = (m_Response.end()-1); + while ((*it).second <= m_SensitivityThreshold) { - if (it == m_Response.end()) + if (it == (m_Response.begin())) { m_Interval.second = (*it).first; + m_IntervalComputed = true; return; } - ++it; + --it; } -- GitLab