Commit 89d64fa6e3c9d7ab1b64e3e1c7c96533f5266510

Werner Lemberg 2008-05-17T20:06:13

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour glyphs correctly. Patch from Savannah bug #23277.

diff --git a/ChangeLog b/ChangeLog
index 0892bd0..33b02ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-17  Sam Hocevar  <samh>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
+	glyphs correctly.  Patch from Savannah bug #23277.
+
 2008-05-16  Werner Lemberg  <wl@gnu.org>
 
 	* docs/CHANGES: Updated.
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 77b3fdd..8f1c61b 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -267,7 +267,11 @@
     if ( n_contours >= 0xFFF || p + ( n_contours + 1 ) * 2 > limit )
       goto Invalid_Outline;
 
-    cont[0] = prev_cont = FT_NEXT_USHORT( p );
+    prev_cont = FT_NEXT_USHORT( p );
+
+    if ( n_contours > 0 )
+      cont[0] = prev_cont;
+
     for ( cont++; cont < cont_limit; cont++ )
     {
       cont[0] = FT_NEXT_USHORT( p );