summaryrefslogtreecommitdiff
path: root/java/jdk16/files
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2011-02-09 17:13:40 +0000
committerGreg Lewis <glewis@FreeBSD.org>2011-02-09 17:13:40 +0000
commit4b975496460873b40e67a388e07d7e47db1ddbe4 (patch)
treeac697895e443fa94d469f154d52ba63026b272c2 /java/jdk16/files
parent- Update to 3.3.9.1 (diff)
. Fix infinite loop in parsing certain doubles. See CVE-2010-4476.
Notes
Notes: svn path=/head/; revision=268829
Diffstat (limited to 'java/jdk16/files')
-rw-r--r--java/jdk16/files/patch-FloatingDecimal.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/java/jdk16/files/patch-FloatingDecimal.java b/java/jdk16/files/patch-FloatingDecimal.java
new file mode 100644
index 000000000000..6141b18cb7eb
--- /dev/null
+++ b/java/jdk16/files/patch-FloatingDecimal.java
@@ -0,0 +1,11 @@
+--- ../../j2se/src/share/classes/sun/misc/FloatingDecimal.java.orig 2011-02-08 21:47:56.000000000 -0800
++++ ../../j2se/src/share/classes/sun/misc/FloatingDecimal.java 2011-02-08 21:48:18.000000000 -0800
+@@ -1529,7 +1529,7 @@
+ if ( (cmpResult = bigB.cmp( bigD ) ) > 0 ){
+ overvalue = true; // our candidate is too big.
+ diff = bigB.sub( bigD );
+- if ( (bigIntNBits == 1) && (bigIntExp > -expBias) ){
++ if ( (bigIntNBits == 1) && (bigIntExp > -expBias+1) ){
+ // candidate is a normalized exact power of 2 and
+ // is too big. We will be subtracting.
+ // For our purposes, ulp is the ulp of the