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 2016/05/23 19:13:54 UTC
svn commit: r1745244 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Author: tilman
Date: Mon May 23 19:13:54 2016
New Revision: 1745244
URL: http://svn.apache.org/viewvc?rev=1745244&view=rev
Log:
PDFBOX-3360: avoid infinite or NaN values for dash
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1745244&r1=1745243&r2=1745244&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Mon May 23 19:13:54 2016
@@ -561,10 +561,22 @@ public class PageDrawer extends PDFGraph
phaseStart = (int)transformWidth(phaseStart);
// empty dash array is illegal
- if (dashArray.length == 0)
+ // avoid also infinite and NaN values (PDFBOX-3360)
+ if (dashArray.length == 0 || Float.isInfinite(phaseStart) || Float.isNaN(phaseStart))
{
dashArray = null;
}
+ else
+ {
+ for (int i = 0; i < dashArray.length; ++i)
+ {
+ if (Float.isInfinite(dashArray[i]) || Float.isNaN(dashArray[i]))
+ {
+ dashArray = null;
+ break;
+ }
+ }
+ }
}
return new BasicStroke(lineWidth, state.getLineCap(), state.getLineJoin(),
state.getMiterLimit(), dashArray, phaseStart);