Hi Werner,

I just noticed two of my old stash of CJK fonts stopped working (they used to 
and I have a pdf sample sheet to proof that...).
I hunted it down to:

commit eca0f067068020870a429fe91f6329e499390d55
Author: Werner Lemberg <[email protected]>
Date:   Mon Nov 24 10:22:08 2014 +0100

    [truetype] Fix Savannah bug #43679.


The problem is the change below - the two fonts have "num_records = 0' and 
'record_size =0'.
I think if  'num_records = 0' any record_size should be valid :-).

Does this code assumes truetype fonts must have at least two glyphs (thus 
record_size is minimum 4)?
and which two - notdef and nbsp ?
Anyway, record_size zero (or any value) is valid if 'num_records = 0'... 
nothing to read, anything is valid.

Hin-Tak

====
@@ -522,8 +522,10 @@
       record_size &= 0xFFFFU;
 
     /* The limit for `num_records' is a heuristic value. */
-
-    if ( version != 0 || num_records > 255 || record_size > 0x10001L )
+    if ( version != 0           ||
+         num_records > 255      ||
+         record_size > 0x10001L ||
+         record_size < 4        )
     {
       error = FT_THROW( Invalid_File_Format );
       goto Fail;
====

_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to