Commit 888cd1843e935fe675cf2ac303116d4ed5b9d54b

Werner Lemberg 2010-07-08T07:29:42

Fix Savannah bug #30361. * src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.

diff --git a/ChangeLog b/ChangeLog
index 19fe6bd..5dfcd86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-07-08  Werner Lemberg  <wl@gnu.org>
+
+	Fix Savannah bug #30361.
+
+	* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
+
 2010-07-06  Werner Lemberg  <wl@gnu.org>
 
 	Pacify compiler.
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index f729eaf..3e108f4 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -6755,8 +6755,8 @@
       end_point   = CUR.pts.contours[contour] - CUR.pts.first_point;
       first_point = point;
 
-      if ( CUR.pts.n_points <= end_point )
-        end_point = CUR.pts.n_points;
+      if ( BOUNDS ( end_point, CUR.pts.n_points ) )
+        end_point = CUR.pts.n_points - 1;
 
       while ( point <= end_point && ( CUR.pts.tags[point] & mask ) == 0 )
         point++;