shithub: freetype+ttf2subf

Download patch

ref: 9b1aab8d1eb78dd04339f59d8337f9eff3bd7678
parent: e6d0c1fb9c0a015162f536f887e6bab7af3ac1f8
author: suzuki toshiya <[email protected]>
date: Fri Jul 31 20:37:58 EDT 2009

sfnt: Cast a charcode to 32-bit in cmap format 12 parser.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2009-07-31  suzuki toshiya <[email protected]>
 
+	sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
+
+	* src/sfnt/ttcmap.c (tt_cmap12_char_next):
+	Insert explicit cast from FT_UFast to FT_UInt32
+	for return value.
+
+2009-07-31  suzuki toshiya <[email protected]>
+
 	psaux: Fix a few casts to FT_Int32 value.
 
 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -2228,8 +2228,10 @@
       if ( cmap12->valid )
       {
         gindex = cmap12->cur_gindex;
+
+        /* XXX: check cur_charcode overflow is expected */
         if ( gindex )
-          *pchar_code = cmap12->cur_charcode;
+          *pchar_code = (FT_UInt32)cmap12->cur_charcode;
       }
       else
         gindex = 0;
@@ -2237,7 +2239,8 @@
     else
       gindex = tt_cmap12_char_map_binary( cmap, pchar_code, 1 );
 
-    return gindex;
+    /* XXX: check gindex overflow is expected */
+    return (FT_UInt32)gindex;
   }