From fe59a4c48a746069cec43a4c7bf23ec268e9e048 Mon Sep 17 00:00:00 2001
From: Jordi Inglada <jordi.inglada@orfeo-toolbox.org>
Date: Mon, 29 Jun 2009 22:59:41 +0200
Subject: [PATCH]  BUG: need for bound checking

---
 .../itkBSplineScatteredDataPointSetToImageFilter.txx      | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx b/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx
index 9ab890b745..20537b8d1b 100644
--- a/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx
+++ b/Utilities/ITK/Code/Review/itkBSplineScatteredDataPointSetToImageFilter.txx
@@ -659,14 +659,20 @@ BSplineScatteredDataPointSetToImageFilter<TInputPointSet, TOutputImage>
         }
       RealType wc = this->m_PointWeights->GetElement( It.Index() );
       RealType t = Itw.Get();
-      omega->SetPixel( idx, omega->GetPixel( idx ) + wc*t*t );
+      if(idx[0]>=0 && idx[1]>=0 && idx[0]< omega->GetLargestPossibleRegion().GetSize()[0] && idx[1]< omega->GetLargestPossibleRegion().GetSize()[1])
+	omega->SetPixel( idx, omega->GetPixel( idx ) + wc*t*t );
+    
 
       PointDataType data = It.Value();
       data *= ( t / w2_sum );
       Itp.Set( data );
       data *= ( t * t * wc );
+
+        if(idx[0]>=0 && idx[1]>=0 && idx[0]< delta->GetLargestPossibleRegion().GetSize()[0] && idx[1]< delta->GetLargestPossibleRegion().GetSize()[1])
+	  {
       delta->SetPixel( idx, delta->GetPixel( idx ) + data );
       delta->GetPixel( idx ) + data;
+	  }
       }
     }
 
-- 
GitLab