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 2017/03/21 17:39:11 UTC
svn commit: r1788014 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
Author: tilman
Date: Tue Mar 21 17:39:11 2017
New Revision: 1788014
URL: http://svn.apache.org/viewvc?rev=1788014&view=rev
Log:
PDFBOX-3728: avoid NPE
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1788014&r1=1788013&r2=1788014&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Tue Mar 21 17:39:11 2017
@@ -80,10 +80,19 @@ public final class PDICCBased extends PD
* Creates a new ICC color space using the PDF array.
*
* @param iccArray the ICC stream object
- * @throws java.io.IOException if there is an error reading the ICC profile.
+ * @throws IOException if there is an error reading the ICC profile or if the parameter
+ * is invalid.
*/
public PDICCBased(COSArray iccArray) throws IOException
{
+ if (iccArray.size() < 2)
+ {
+ throw new IOException("ICCBased colorspace array must have two elements");
+ }
+ if (!(iccArray.getObject(1) instanceof COSStream))
+ {
+ throw new IOException("ICCBased colorspace array must have a stream as second element");
+ }
array = iccArray;
stream = new PDStream((COSStream) iccArray.getObject(1));
loadICCProfile();