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/02/01 17:39:29 UTC
svn commit: r1873482 - in
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel:
PDAbstractContentStream.java PDPageContentStream.java
Author: tilman
Date: Sat Feb 1 17:39:29 2020
New Revision: 1873482
URL: http://svn.apache.org/viewvc?rev=1873482&view=rev
Log:
PDFBOX-4742: throw Exception on NaN and Infinity
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java?rev=1873482&r1=1873481&r2=1873482&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java Sat Feb 1 17:39:29 2020
@@ -1428,9 +1428,15 @@ abstract class PDAbstractContentStream i
* Writes a real number to the content stream.
* @param real
* @throws java.io.IOException
+ * @throws IllegalArgumentException if the parameter is not a finite number
*/
protected void writeOperand(float real) throws IOException
{
+ if (!Float.isFinite(real))
+ {
+ throw new IllegalArgumentException(real + "is not a finite number");
+ }
+
int byteCount = NumberFormatUtil.formatFloatFast(real, formatDecimal.getMaximumFractionDigits(), formatBuffer);
if (byteCount == -1)
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java?rev=1873482&r1=1873481&r2=1873482&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPageContentStream.java Sat Feb 1 17:39:29 2020
@@ -2466,9 +2466,15 @@ public final class PDPageContentStream i
* @param real the float value to be added to the content stream.
*
* @throws IOException if something went wrong
+ * @throws IllegalArgumentException if the parameter is not a finite number
*/
protected void writeOperand(float real) throws IOException
{
+ if (!Float.isFinite(real))
+ {
+ throw new IllegalArgumentException(real + "is not a finite number");
+ }
+
int byteCount = NumberFormatUtil.formatFloatFast(real, formatDecimal.getMaximumFractionDigits(), formatBuffer);
if (byteCount == -1)