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.