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 2018/07/26 16:19:45 UTC

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

Author: tilman
Date: Thu Jul 26 16:19:45 2018
New Revision: 1836741

URL: http://svn.apache.org/viewvc?rev=1836741&view=rev
Log:
PDFBOX-4279: copyOf instead of clone in case array is too small, avoids ArrayIndexOutOfBoundsException later

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

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java?rev=1836741&r1=1836740&r2=1836741&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java Thu Jul 26 16:19:45 2018
@@ -113,7 +113,13 @@ public final class PDColor
      */
     public float[] getComponents()
     {
-        return components.clone();
+        if (colorSpace instanceof PDPattern)
+        {
+            // colorspace of the pattern color isn't known, so just clone
+            return components.clone();
+        }
+        // PDFBOX-4279: copyOf instead of clone in case array is too small
+        return Arrays.copyOf(components, colorSpace.getNumberOfComponents());
     }
 
     /**