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 2021/02/23 18:32:44 UTC

svn commit: r1886852 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java

Author: tilman
Date: Tue Feb 23 18:32:44 2021
New Revision: 1886852

URL: http://svn.apache.org/viewvc?rev=1886852&view=rev
Log:
PDFBOX-5108: avoid negative /W values

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

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java?rev=1886852&r1=1886851&r2=1886852&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java Tue Feb 23 18:32:44 2021
@@ -19,6 +19,7 @@ package org.apache.pdfbox.pdfparser;
 import java.io.IOException;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -78,6 +79,10 @@ public class PDFXrefStreamParser extends
         {
             w[i] = wArray.getInt(i, 0);
         }
+        if (w[0] < 0 || w[1] < 0 || w[2] < 0)
+        {
+            throw new IOException("Incorrect /W array in XRef: " + Arrays.toString(w));
+        }
 
         COSArray indexArray = stream.getCOSArray(COSName.INDEX);
         if (indexArray == null)