You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/10/25 21:20:47 UTC
svn commit: r1813356 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java
Author: tilman
Date: Wed Oct 25 21:20:47 2017
New Revision: 1813356
URL: http://svn.apache.org/viewvc?rev=1813356&view=rev
Log:
PDFBOX-3979: avoid NPE
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=1813356&r1=1813355&r2=1813356&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 Oct 25 21:20:47 2017
@@ -110,6 +110,10 @@ final class Type1Parser
{
// premature end
Token token = lexer.peekToken();
+ if (token == null)
+ {
+ break;
+ }
if (token.getKind() == Token.NAME &&
("currentdict".equals(token.getText()) || "end".equals(token.getText())))
{
@@ -312,12 +316,20 @@ final class Type1Parser
for (int i = 0; i < length; i++)
{
+ if (lexer.peekToken() == null)
+ {
+ break;
+ }
if (lexer.peekToken().getKind() == Token.NAME &&
!lexer.peekToken().getText().equals("end"))
{
read(Token.NAME);
}
// premature end
+ if (lexer.peekToken() == null)
+ {
+ break;
+ }
if (lexer.peekToken().getKind() == Token.NAME &&
lexer.peekToken().getText().equals("end"))
{
@@ -501,7 +513,7 @@ final class Type1Parser
for (int i = 0; i < length; i++)
{
// premature end
- if (lexer.peekToken().getKind() != Token.LITERAL)
+ if (lexer.peekToken() == null || lexer.peekToken().getKind() != Token.LITERAL)
{
break;
}
@@ -633,6 +645,10 @@ final class Type1Parser
for (int i = 0; i < length; i++)
{
// premature end
+ if (lexer.peekToken() == null)
+ {
+ break;
+ }
if (!(lexer.peekToken().getKind() == Token.NAME &&
lexer.peekToken().getText().equals("dup")))
{
@@ -691,6 +707,10 @@ final class Type1Parser
for (int i = 0; i < length; i++)
{
// premature end
+ if (lexer.peekToken() == null)
+ {
+ break;
+ }
if (lexer.peekToken().getKind() == Token.NAME &&
lexer.peekToken().getText().equals("end"))
{