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)