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 2017/10/03 12:08:36 UTC
svn commit: r1810995 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Author: lehmi
Date: Tue Oct 3 12:08:35 2017
New Revision: 1810995
URL: http://svn.apache.org/viewvc?rev=1810995&view=rev
Log:
PDFBOX-3949: avoid NPE, skip incomplete streams
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java?rev=1810995&r1=1810994&r2=1810995&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java Tue Oct 3 12:08:35 2017
@@ -1695,9 +1695,16 @@ public class COSParser extends BaseParse
// add all found compressed objects to the brute force search result
for (Long offset : bfSearchObjStreamsOffsets.keySet())
{
- long bfOffset = bfSearchCOSObjectKeyOffsets.get(bfSearchObjStreamsOffsets.get(offset));
+ Long bfOffset = bfSearchCOSObjectKeyOffsets.get(bfSearchObjStreamsOffsets.get(offset));
+ // incomplete object stream found?
+ if (bfOffset == null)
+ {
+ LOG.warn("Skipped incomplete object stream:" + bfSearchObjStreamsOffsets.get(offset)
+ + " at " + offset);
+ continue;
+ }
// check if the object was overwritten
- if (offset == bfOffset)
+ if (offset.equals(bfOffset))
{
source.seek(offset);
long stmObjNumber = readObjectNumber();