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;
     }


Reply via email to