shithub: freetype+ttf2subf

Download patch

ref: 7bdc1d598d02f2fe87caaec68737added4965707
parent: 94cdb3f045565a344d992629fca527e18d7721cb
author: Werner Lemberg <[email protected]>
date: Fri Dec 18 02:13:22 EST 2009

Fix Savannah bug #28320.

There exist corrupt, subsetted fonts (embedded in PDF files) which
contain a private dict that ends with an unterminated floating point
number (no operator following).  We now ignore this error (as
acrobat does).

* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
unterminated floating point numbers.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-18  Werner Lemberg  <[email protected]>
+
+	Fix Savannah bug #28320.
+
+	There exist corrupt, subsetted fonts (embedded in PDF files) which
+	contain a private dict that ends with an unterminated floating point
+	number (no operator following).  We now ignore this error (as
+	acrobat does).
+
+	* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
+	unterminated floating point numbers.
+
 2009-12-16  Werner Lemberg  <[email protected]>
 
 	Really fix compiler warnings.
--- a/src/cff/cffparse.c
+++ b/src/cff/cffparse.c
@@ -745,8 +745,10 @@
           p++;
           for (;;)
           {
+            /* An unterminated floating point number at the */
+            /* end of a dictionary is invalid but harmless. */
             if ( p >= limit )
-              goto Syntax_Error;
+              goto Exit;
             v = p[0] >> 4;
             if ( v == 15 )
               break;