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 2015/07/29 18:48:46 UTC
svn commit: r1693316 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
Author: tilman
Date: Wed Jul 29 16:48:45 2015
New Revision: 1693316
URL: http://svn.apache.org/r1693316
Log:
PDFBOX-2909: throw IOException if /Function element not dictionary or array
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java?rev=1693316&r1=1693315&r2=1693316&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java Wed Jul 29 16:48:45 2015
@@ -335,8 +335,8 @@ public abstract class PDShading implemen
/**
* Provide the function(s) of the shading dictionary as array.
*
- * @return an array containing the function(s)
- * @throws IOException if something went wrong
+ * @return an array containing the function(s).
+ * @throws IOException if we were unable to create a function.
*/
private PDFunction[] getFunctionsArray() throws IOException
{
@@ -348,7 +348,7 @@ public abstract class PDShading implemen
functionArray = new PDFunction[1];
functionArray[0] = PDFunction.create(functionObject);
}
- else
+ else if (functionObject instanceof COSArray)
{
COSArray functionCOSArray = (COSArray) functionObject;
int numberOfFunctions = functionCOSArray.size();
@@ -358,6 +358,10 @@ public abstract class PDShading implemen
functionArray[i] = PDFunction.create(functionCOSArray.get(i));
}
}
+ else
+ {
+ throw new IOException("mandatory /Function element must be a dictionary or an array");
+ }
}
return functionArray;
}