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 2018/10/21 20:30:11 UTC
svn commit: r1844519 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Author: lehmi
Date: Sun Oct 21 20:30:11 2018
New Revision: 1844519
URL: http://svn.apache.org/viewvc?rev=1844519&view=rev
Log:
PDFBOX-4354: avoid NumberFormatException
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=1844519&r1=1844518&r2=1844519&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 Sun Oct 21 20:30:11 2018
@@ -2049,13 +2049,20 @@ public class COSParser extends BaseParse
Map<COSObjectKey, Long> xrefOffset = xrefTrailerResolver.getXrefTable();
for (int i = 0; i < nrOfObjects; i++)
{
- long objNumber = Long.parseLong(numbers[i * 2]);
- COSObjectKey objKey = new COSObjectKey(objNumber, 0);
- Long existingOffset = bfSearchCOSObjectKeyOffsets.get(objKey);
- if (existingOffset == null || offset > existingOffset)
+ try
{
- bfSearchCOSObjectKeyOffsets.put(objKey, -stmObjNumber);
- xrefOffset.put(objKey, -stmObjNumber);
+ long objNumber = Long.parseLong(numbers[i * 2]);
+ COSObjectKey objKey = new COSObjectKey(objNumber, 0);
+ Long existingOffset = bfSearchCOSObjectKeyOffsets.get(objKey);
+ if (existingOffset == null || offset > existingOffset)
+ {
+ bfSearchCOSObjectKeyOffsets.put(objKey, -stmObjNumber);
+ xrefOffset.put(objKey, -stmObjNumber);
+ }
+ }
+ catch (NumberFormatException exception)
+ {
+ LOG.debug("Skipped corrupt object key in stream: " + stmObjNumber);
}
}
}