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/22 16:28:52 UTC
svn commit: r1844568 - in /pdfbox/trunk: ./
pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Author: lehmi
Date: Mon Oct 22 16:28:52 2018
New Revision: 1844568
URL: http://svn.apache.org/viewvc?rev=1844568&view=rev
Log:
PDFBOX-4354: avoid NumberFormatException
Modified:
pdfbox/trunk/ (props changed)
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (contents, props changed)
Propchange: pdfbox/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct 22 16:28:52 2018
@@ -1,3 +1,3 @@
-/pdfbox/branches/2.0:1760418,1761484,1762133,1763609,1779822,1780783,1780789,1782684,1784450,1792784,1795704,1795712,1799081-1799082,1814046,1814285,1814459,1824914,1825811,1825820,1825912,1844477,1844516,1844519
+/pdfbox/branches/2.0:1760418,1761484,1762133,1763609,1779822,1780783,1780789,1782684,1784450,1792784,1795704,1795712,1799081-1799082,1814046,1814285,1814459,1824914,1825811,1825820,1825912,1844477,1844516,1844519,1844567
/pdfbox/branches/no-awt:1618517-1621410
/pdfbox/no-awt:1618514-1618516
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java?rev=1844568&r1=1844567&r2=1844568&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java Mon Oct 22 16:28:52 2018
@@ -324,8 +324,7 @@ public class COSParser extends BaseParse
{
// xref table and trailer
// use existing parser to parse xref table
- parseXrefTable(prev);
- if (!parseTrailer())
+ if (!parseXrefTable(prev) || !parseTrailer())
{
throw new IOException("Expected trailer object at offset "
+ source.getPosition());
@@ -2670,12 +2669,31 @@ public class COSParser extends BaseParse
if (splitString.length != 2)
{
LOG.warn("Unexpected XRefTable Entry: " + currentLine);
- break;
+ return false;
}
// first obj id
- long currObjID = Long.parseLong(splitString[0]);
+ long currObjID = 0;
+ try
+ {
+ currObjID = Long.parseLong(splitString[0]);
+ }
+ catch (NumberFormatException exception)
+ {
+ LOG.warn("XRefTable: invalid ID for the first object: " + currentLine);
+ return false;
+ }
+
// the number of objects in the xref table
- int count = Integer.parseInt(splitString[1]);
+ int count = 0;
+ try
+ {
+ count = Integer.parseInt(splitString[1]);
+ }
+ catch (NumberFormatException exception)
+ {
+ LOG.warn("XRefTable: invalid number of objects: " + currentLine);
+ return false;
+ }
skipSpaces();
for(int i = 0; i < count; i++)
Propchange: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct 22 16:28:52 2018
@@ -1,4 +1,4 @@
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/NonSequentialPDFParser.java:1641458
-/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java:1779822,1780783,1792784,1792839,1795704,1795712,1811482,1813367,1814459,1844516,1844519
+/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java:1779822,1780783,1792784,1792839,1795704,1795712,1811482,1813367,1814459,1844516,1844519,1844567
/pdfbox/branches/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/NonSequentialPDFParser.java:1618517-1621410
/pdfbox/no-awt/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/NonSequentialPDFParser.java:1618514-1618516