This bug has been in Java for a long time, and the fix has been in IcedTea
for a year and a half.

The bug is a trivial off-by-one error.

OK for OpenJDK7 and OpenJDK6?

Andrew.


--- oipenjdk/jdk/src/share/classes/sun/misc/FloatingDecimal.java        Thu Sep 
27 12:56:46 2007 -0700
+++ openjdk/jdk/src/share/classes/sun/misc/FloatingDecimal.java 2007-11-13 
13:39:18.000000000 -0500
@@ -730,7 +730,7 @@
                  * Thus we will need more than one digit if we're using
                  * E-form
                  */
-                if ( decExp <= -3 || decExp >= 8 ){
+                if ( decExp < -3 || decExp >= 8 ){
                     high = low = false;
                 }
                 while( ! low && ! high ){
@@ -783,7 +783,7 @@
                  * Thus we will need more than one digit if we're using
                  * E-form
                  */
-                if ( decExp <= -3 || decExp >= 8 ){
+                if ( decExp < -3 || decExp >= 8 ){
                     high = low = false;
                 }
                 while( ! low && ! high ){
@@ -847,7 +847,7 @@
              * Thus we will need more than one digit if we're using
              * E-form
              */
-            if ( decExp <= -3 || decExp >= 8 ){
+            if ( decExp < -3 || decExp >= 8 ){
                 high = low = false;
             }
             while( ! low && ! high ){

Reply via email to