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/21 21:21:14 UTC

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

Author: tilman
Date: Mon Sep 21 19:21:14 2015
New Revision: 1704397

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

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

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/MoveText.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/MoveText.java?rev=1704397&r1=1704396&r2=1704397&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/MoveText.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/util/operator/MoveText.java Mon Sep 21 19:21:14 2015
@@ -38,8 +38,22 @@ public class MoveText extends OperatorPr
      */
     public void process(PDFOperator operator, List<COSBase> arguments)
     {
-        COSNumber x = (COSNumber)arguments.get( 0 );
-        COSNumber y = (COSNumber)arguments.get( 1 );
+        if (arguments.size() < 2)
+        {
+            return;
+        }
+        COSBase base0 = arguments.get(0);
+        COSBase base1 = arguments.get(1);
+        if (!(base0 instanceof COSNumber))
+        {
+            return;
+        }
+        if (!(base1 instanceof COSNumber))
+        {
+            return;
+        }
+        COSNumber x = (COSNumber) base0;
+        COSNumber y = (COSNumber) base1;
         Matrix td = new Matrix();
         td.setValue( 2, 0, x.floatValue() );
         td.setValue( 2, 1, y.floatValue() );