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 2025/07/23 11:21:20 UTC

svn commit: r1927436 - pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser

Author: tilman
Date: Wed Jul 23 11:21:20 2025
New Revision: 1927436

Log:
PDFBOX-6037: avoid OOM, as suggested by David Justamante and Michael Klink

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
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java	Wed Jul 23 11:21:16 2025	(r1927435)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFXrefStreamParser.java	Wed Jul 23 11:21:20 2025	(r1927436)
@@ -87,6 +87,11 @@ public class PDFXrefStreamParser extends
         {
             throw new IOException("Incorrect /W array in XRef: " + Arrays.toString(w));
         }
+        if (w[0] + w[1] + w[2] > 20)
+        {
+            // PDFBOX-6037
+            throw new IOException("Incorrect /W array in XRef: " + Arrays.toString(w));
+        }
 
         COSArray indexArray = stream.getCOSArray(COSName.INDEX);
         if (indexArray == null)