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:52 UTC
svn commit: r1813357 -
/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java
Author: tilman
Date: Wed Oct 25 21:20:51 2017
New Revision: 1813357
URL: http://svn.apache.org/viewvc?rev=1813357&view=rev
Log:
PDFBOX-3979: avoid NPE
Modified:
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java?rev=1813357&r1=1813356&r2=1813357&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/type1/Type1Parser.java Wed Oct 25 21:20:51 2017
@@ -110,6 +110,10 @@ final class Type1Parser
{
// premature end
Token token = lexer.peekToken();
+ if (token == null)
+ {
+ break;
+ }
if (token.getKind() == Token.NAME &&
(token.getText().equals("currentdict") || token.getText().equals("end")))
{
@@ -319,12 +323,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"))
{
@@ -508,7 +520,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;
}
@@ -652,6 +664,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")))
{
@@ -710,6 +726,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"))
{