Commit 3987b15ef76982a509a72356fc8d2f1a3aa76e91

Werner Lemberg 2010-10-02T11:46:19

Fix Savannah bug #31088 (sort of). * src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64 function entries.

diff --git a/ChangeLog b/ChangeLog
index a9318a0..08c845c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-10-02  Werner Lemberg  <wl@gnu.org>
 
+	Fix Savannah bug #31088 (sort of).
+
+	* src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64
+	function entries.
+
+2010-10-02  Werner Lemberg  <wl@gnu.org>
+
 	[smooth] Fix splitting of cubics for negative values.
 
 	Reported by Róbert Márki <gsmiko@gmail.com>; see
diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c
index 1c174af..84aef2d 100644
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -680,9 +680,9 @@
       /*      broken fonts like `Keystrokes MT' :-(           */
       /*                                                      */
       /*   We allocate 64 function entries by default when    */
-      /*   the maxFunctionDefs field is null.                 */
+      /*   the maxFunctionDefs value is smaller.              */
 
-      if ( maxProfile->maxFunctionDefs == 0 )
+      if ( maxProfile->maxFunctionDefs < 64 )
         maxProfile->maxFunctionDefs = 64;
 
       /* we add 4 phantom points later */