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 2015/04/16 19:55:44 UTC
svn commit: r1674118 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
Author: tilman
Date: Thu Apr 16 17:55:43 2015
New Revision: 1674118
URL: http://svn.apache.org/r1674118
Log:
PDFBOX-2759: avoid NPE when indirect object appears in content stream
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java?rev=1674118&r1=1674117&r2=1674118&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java Thu Apr 16 17:55:43 2015
@@ -232,7 +232,7 @@ public abstract class BaseParser impleme
}
COSObjectKey key = new COSObjectKey(((COSInteger) number).longValue(),
((COSInteger) generationNumber).intValue());
- retval = document.getObjectFromPool(key);
+ retval = getObjectFromPool(key);
}
else
{
@@ -241,6 +241,15 @@ public abstract class BaseParser impleme
return retval;
}
+ private COSBase getObjectFromPool(COSObjectKey key) throws IOException
+ {
+ if (document == null)
+ {
+ throw new IOException("object reference " + key + " at offset " + pdfSource.getOffset() + " in content stream");
+ }
+ return document.getObjectFromPool(key);
+ }
+
/**
* This will parse a PDF dictionary.
*
@@ -979,7 +988,7 @@ public abstract class BaseParser impleme
{
COSInteger number = (COSInteger)po.remove( po.size() -1 );
COSObjectKey key = new COSObjectKey(number.longValue(), genNumber.intValue());
- pbo = document.getObjectFromPool(key);
+ pbo = getObjectFromPool(key);
}
else
{