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.
This commit is contained in:
Werner Lemberg 2009-12-18 07:13:22 +01:00
parent 94cdb3f045
commit 7bdc1d598d
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,15 @@
2009-12-18 Werner Lemberg <wl@gnu.org>
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 <wl@gnu.org> 2009-12-16 Werner Lemberg <wl@gnu.org>
Really fix compiler warnings. Really fix compiler warnings.

View File

@ -745,8 +745,10 @@
p++; p++;
for (;;) for (;;)
{ {
/* An unterminated floating point number at the */
/* end of a dictionary is invalid but harmless. */
if ( p >= limit ) if ( p >= limit )
goto Syntax_Error; goto Exit;
v = p[0] >> 4; v = p[0] >> 4;
if ( v == 15 ) if ( v == 15 )
break; break;