Commit dc3ff31c3fd00946917b2f07d2f6a70da36afe35

David Turner 2006-05-17T12:59:35

* src/ftccmap.c (FTC_CMapCache_Lookup): changed the threshold used to detect rogue clients from 4 to 16. This is to prevent some segmentation faults with fonts like KozMinProVI-Regular.otf which comes from the Japanese Adobe Reader Asian Font pack.

diff --git a/ChangeLog b/ChangeLog
index a6d49e8..5ce5358 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-05-17  David Turner  <david@freetype.org>
+
+        * src/ftccmap.c (FTC_CMapCache_Lookup): changed the threshold
+        used to detect rogue clients from 4 to 16. This is to prevent
+        some segmentation faults with fonts like KozMinProVI-Regular.otf
+        which comes from the Japanese Adobe Reader Asian Font pack.
+
 2007-05-17  Werner Lemberg  <wl@gnu.org>
 
 	* src/cff/cffload.c (cff_font_done): Deallocate subfont array.  This
diff --git a/src/cache/ftccmap.c b/src/cache/ftccmap.c
index fefcbdf..4d6fd9a 100644
--- a/src/cache/ftccmap.c
+++ b/src/cache/ftccmap.c
@@ -305,9 +305,13 @@
      *  more than a few charmaps, so if the index is very large...
      *
      *  It is also very unlikely that a rogue client is interested
-     *  in Unicode values 0 to 3.
+     *  in Unicode values 0 to 15.
+     *
+     *  NOTE: The original threshold was 4, but we found a font
+     *        from the Adobe Acrobat Reader Pack, named
+     *        "KozMinProVI-Regular.otf" which contained more than 5 charmaps.
      */
-    if ( cmap_index >= 4 )
+    if ( cmap_index >= 16 )
     {
       FTC_OldCMapDesc  desc = (FTC_OldCMapDesc) face_id;