You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/06/11 18:45:27 UTC

svn commit: r1601944 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java

Author: lehmi
Date: Wed Jun 11 16:45:27 2014
New Revision: 1601944

URL: http://svn.apache.org/r1601944
Log:
PDFBOX-2134: avoid NPE if expected dup-values are missing

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java?rev=1601944&r1=1601943&r2=1601944&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java Wed Jun 11 16:45:27 2014
@@ -139,8 +139,12 @@ final class Type1Parser
                     readMaybe(Token.NAME, "array");
 
                     // 0 1 255 {1 index exch /.notdef put } for
+                    // we have to check "readonly" and "def" too 
+                    // as some fonts don't provide any dup-values, see PDFBOX-2134 
                     while (!(lexer.peekToken().getKind() == Token.NAME &&
-                            lexer.peekToken().getText().equals("dup")))
+                            (lexer.peekToken().getText().equals("dup") ||
+                            lexer.peekToken().getText().equals("readonly") ||
+                            lexer.peekToken().getText().equals("def"))))
                     {
                         lexer.nextToken();
                     }