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 2018/10/20 17:10:07 UTC
svn commit: r1844427 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java
Author: tilman
Date: Sat Oct 20 17:10:07 2018
New Revision: 1844427
URL: http://svn.apache.org/viewvc?rev=1844427&view=rev
Log:
PDFBOX-4357: check page tree root at the end of parsing
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java?rev=1844427&r1=1844426&r2=1844427&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFParser.java Sat Oct 20 17:10:07 2018
@@ -25,6 +25,8 @@ import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.cos.COSNull;
+import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.io.RandomAccessRead;
import org.apache.pdfbox.io.ScratchFile;
@@ -191,6 +193,15 @@ public class PDFParser extends COSParser
}
// check pages dictionaries
checkPages(root);
+ COSBase pages = root.getItem(COSName.PAGES);
+ if (pages instanceof COSObject)
+ {
+ pages = ((COSObject) pages).getObject();
+ }
+ if (pages == null || pages instanceof COSNull)
+ {
+ throw new IOException("Page tree root is null");
+ }
document.setDecrypted();
initialParseDone = true;
}