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/09/24 18:24:02 UTC

svn commit: r1705097 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java

Author: tilman
Date: Thu Sep 24 16:24:02 2015
New Revision: 1705097

URL: http://svn.apache.org/viewvc?rev=1705097&view=rev
Log:
PDFBOX-2982: avoid ArrayOutOfBoundsException / ClassCastException

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java?rev=1705097&r1=1705096&r2=1705097&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Invoke.java Thu Sep 24 16:24:02 2015
@@ -50,7 +50,16 @@ public class Invoke extends OperatorProc
      */
     public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
     {
-        COSName name = (COSName) arguments.get( 0 );
+        if (arguments.size() < 1)
+        {
+            return;
+        }
+        COSBase base0 = arguments.get(0);
+        if (!(base0 instanceof COSName))
+        {
+            return;
+        }
+        COSName name = (COSName) base0;
 
         Map<String,PDXObject> xobjects = context.getXObjects();
         PDXObject xobject = (PDXObject) xobjects.get(name.getName());