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/05/11 17:50:29 UTC
svn commit: r1794860 - in /pdfbox/branches/2.0: ./ pdfbox/
pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Author: lehmi
Date: Thu May 11 17:50:29 2017
New Revision: 1794860
URL: http://svn.apache.org/viewvc?rev=1794860&view=rev
Log:
PDFBOX-3788: don't use the startxref value found by a brute force search if it isn't a valid pointer to a xref table
Modified:
pdfbox/branches/2.0/ (props changed)
pdfbox/branches/2.0/pdfbox/ (props changed)
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (contents, props changed)
Propchange: pdfbox/branches/2.0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 11 17:50:29 2017
@@ -1,3 +1,3 @@
/pdfbox/branches/no-awt:1618517-1621410
/pdfbox/no-awt:1618514-1618516
-/pdfbox/trunk:1736223,1736227,1736615,1737043,1737130,1737599-1737600,1738755,1740160,1742437,1742442,1743248,1745595,1745606,1745772,1745774,1745776,1745779,1746032,1746151,1749162,1749165,1749432,1766088,1766213,1767585,1768061,1770985,1770988,1772528,1778172,1782679,1786586,1786603,1787546,1790745,1794073,1794090,1794620,1794753
+/pdfbox/trunk:1736223,1736227,1736615,1737043,1737130,1737599-1737600,1738755,1740160,1742437,1742442,1743248,1745595,1745606,1745772,1745774,1745776,1745779,1746032,1746151,1749162,1749165,1749432,1766088,1766213,1767585,1768061,1770985,1770988,1772528,1778172,1782679,1786586,1786603,1787546,1790745,1794073,1794090,1794620,1794753,1794859
Propchange: pdfbox/branches/2.0/pdfbox/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 11 17:50:29 2017
@@ -1,3 +1,3 @@
/pdfbox/branches/no-awt/pdfbox:1618517-1621410
/pdfbox/no-awt/pdfbox:1618514-1618516
-/pdfbox/trunk/pdfbox:1736223,1736227,1736615,1737043,1737130,1737599-1737600,1738755,1740160,1742437,1742442,1743248,1745595,1745606,1745772,1745774,1745776,1745779,1746032,1746151,1749162,1749165,1749432,1757165,1758817,1767585,1770988,1772528,1778172,1782679,1786586,1786603,1787546,1790745,1794073,1794090,1794620,1794753
+/pdfbox/trunk/pdfbox:1736223,1736227,1736615,1737043,1737130,1737599-1737600,1738755,1740160,1742437,1742442,1743248,1745595,1745606,1745772,1745774,1745776,1745779,1746032,1746151,1749162,1749165,1749432,1757165,1758817,1767585,1770988,1772528,1778172,1782679,1786586,1786603,1787546,1790745,1794073,1794090,1794620,1794753,1794859
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=1794860&r1=1794859&r2=1794860&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 Thu May 11 17:50:29 2017
@@ -401,7 +401,12 @@ public class COSParser extends BaseParse
if (isLenient)
{
LOG.debug("Performing brute force search for last startxref entry");
- return bfSearchForLastStartxrefEntry();
+ long bfOffset = bfSearchForLastStartxrefEntry();
+ source.seek(bfOffset);
+ long bfXref = parseStartXref();
+ source.seek(0);
+ // use the new offset only if it is a valid pointer to a xref table
+ return checkXRefOffset(bfXref) == bfXref ? bfOffset : -1;
}
else
{
@@ -1638,7 +1643,6 @@ public class COSParser extends BaseParse
*/
private long bfSearchForLastStartxrefEntry() throws IOException
{
- long originOffset = source.getPosition();
long lastStartxref = -1;
source.seek(MINIMUM_SEARCH_OFFSET);
// search for startxref
@@ -1651,7 +1655,6 @@ public class COSParser extends BaseParse
}
source.read();
}
- source.seek(originOffset);
return lastStartxref;
}
Propchange: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 11 17:50:29 2017
@@ -1,4 +1,4 @@
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/NonSequentialPDFParser.java:1641458
/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
-/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java:1737043,1737130,1738755,1778172,1782679,1786586,1787546,1794620,1794753
+/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java:1737043,1737130,1738755,1778172,1782679,1786586,1787546,1794620,1794753,1794859