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/08/02 15:49:13 UTC
svn commit: r1803836 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java
Author: tilman
Date: Wed Aug 2 15:49:13 2017
New Revision: 1803836
URL: http://svn.apache.org/viewvc?rev=1803836&view=rev
Log:
PDFBOX-2852: avoid classcastexception
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java?rev=1803836&r1=1803835&r2=1803836&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/function/PDFunction.java Wed Aug 2 15:49:13 2017
@@ -117,16 +117,18 @@ public abstract class PDFunction impleme
{
return new PDFunctionTypeIdentity(null);
}
-
- COSDictionary functionDictionary;
+
+ COSBase base = function;
if (function instanceof COSObject)
{
- functionDictionary = (COSDictionary) ((COSObject) function).getObject();
+ base = function.getCOSObject();
}
- else
+ if (!(base instanceof COSDictionary))
{
- functionDictionary = (COSDictionary) function;
+ throw new IOException("Error: Function must be a Dictionary, but is " +
+ function.getClass().getSimpleName());
}
+ COSDictionary functionDictionary = (COSDictionary) base;
int functionType = functionDictionary.getInt(COSName.FUNCTION_TYPE);
switch (functionType)
{