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 2019/04/02 19:17:58 UTC

svn commit: r1856843 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java

Author: tilman
Date: Tue Apr  2 19:17:58 2019
New Revision: 1856843

URL: http://svn.apache.org/viewvc?rev=1856843&view=rev
Log:
PDFBOX-4503: avoid IllegalArgumentException when stream is empty or null

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java?rev=1856843&r1=1856842&r2=1856843&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDIndexed.java Tue Apr  2 19:17:58 2019
@@ -124,8 +124,17 @@ public final class PDIndexed extends PDS
 
         // convert the color table into a 1-row BufferedImage in the base color space,
         // using a writable raster for high performance
-        WritableRaster baseRaster = Raster.createBandedRaster(DataBuffer.TYPE_BYTE,
-                actualMaxIndex + 1, 1, numBaseComponents, new Point(0, 0));
+        WritableRaster baseRaster;
+        try
+        {
+            baseRaster = Raster.createBandedRaster(DataBuffer.TYPE_BYTE,
+                    actualMaxIndex + 1, 1, numBaseComponents, new Point(0, 0));
+        }
+        catch (IllegalArgumentException ex)
+        {
+            // PDFBOX-4503: when stream is empty or null
+            throw new IOException(ex);
+        }
 
         int[] base = new int[numBaseComponents];
         for (int i = 0, n = actualMaxIndex; i <= n; i++)