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 2020/11/17 19:33:16 UTC

svn commit: r1883559 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java

Author: tilman
Date: Tue Nov 17 19:33:16 2020
New Revision: 1883559

URL: http://svn.apache.org/viewvc?rev=1883559&view=rev
Log:
PDFBOX-5019: avoid IllegalArgumentException when miter limit is < 1

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java?rev=1883559&r1=1883558&r2=1883559&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/operator/state/SetLineMiterLimit.java Tue Nov 17 19:33:16 2020
@@ -19,6 +19,8 @@ package org.apache.pdfbox.contentstream.
 import java.io.IOException;
 import java.util.List;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.pdfbox.contentstream.operator.MissingOperandException;
 import org.apache.pdfbox.contentstream.operator.Operator;
 import org.apache.pdfbox.contentstream.operator.OperatorName;
@@ -33,6 +35,8 @@ import org.apache.pdfbox.cos.COSNumber;
  */
 public class SetLineMiterLimit extends OperatorProcessor
 {
+    private static final Log LOG = LogFactory.getLog(SetLineMiterLimit.class);
+
     @Override
     public void process(Operator operator, List<COSBase> arguments) throws IOException
     {
@@ -41,7 +45,12 @@ public class SetLineMiterLimit extends O
             throw new MissingOperandException(operator, arguments);
         }
         COSNumber miterLimit = (COSNumber)arguments.get( 0 );
-        context.getGraphicsState().setMiterLimit( miterLimit.floatValue() );
+        float lim = miterLimit.floatValue();
+        if (lim < 1)
+        {
+            LOG.warn("Miter limit must be >= 1, value " + lim + " is ignored");
+        }
+        context.getGraphicsState().setMiterLimit(lim);
     }
 
     @Override