Author: tilman
Date: Thu Jul 16 21:15:17 2015
New Revision: 1691450

URL: http://svn.apache.org/r1691450
Log:
PDFBOX-2887: throw IOException if expected XRefStream isn't one

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java?rev=1691450&r1=1691449&r2=1691450&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java
 Thu Jul 16 21:15:17 2015
@@ -65,7 +65,13 @@ public class PDFXrefStreamParser extends
      */
     public void parse() throws IOException
     {
-        COSArray xrefFormat = (COSArray)stream.getDictionaryObject(COSName.W);
+        COSBase w = stream.getDictionaryObject(COSName.W);
+        if (!(w instanceof COSArray))
+        {
+            throw new IOException("/W array is missing in Xref stream");
+        }
+        COSArray xrefFormat = (COSArray) w;
+        
         COSArray indexArray = 
(COSArray)stream.getDictionaryObject(COSName.INDEX);
         /*
          * If Index doesn't exist, we will use the default values.


Reply via email to