diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-13 17:00:22 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-13 17:00:22 +0000 |
commit | 8223255f06d100d1ff486ab880dfe3cc1328964f (patch) | |
tree | 46b6e2f9f7cc5a17f1568153356d161b709e18b3 /libjava/java/security/SecureRandom.java | |
parent | 0729a63e35ea13886054f5633d266ef0ad885d01 (diff) | |
download | ppe42-gcc-8223255f06d100d1ff486ab880dfe3cc1328964f.tar.gz ppe42-gcc-8223255f06d100d1ff486ab880dfe3cc1328964f.zip |
2003-02-13 Casey Marshall <rsdio@metastatic.org>
PR libgcj/9271:
* java/security/SecureRandom.java (next): Avoid bias in results.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62851 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/security/SecureRandom.java')
-rw-r--r-- | libjava/java/security/SecureRandom.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libjava/java/security/SecureRandom.java b/libjava/java/security/SecureRandom.java index a0b7f95f397..d9ac153da2b 100644 --- a/libjava/java/security/SecureRandom.java +++ b/libjava/java/security/SecureRandom.java @@ -1,5 +1,5 @@ /* SecureRandom.java --- Secure Random class implmentation - Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -36,6 +36,7 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package java.security; + import java.io.Serializable; import java.util.Random; import java.util.Enumeration; @@ -358,9 +359,10 @@ public class SecureRandom extends Random int ret = 0; for (int i = 0; i < tmp.length; i++) - ret |= tmp[i] << (8 * i); + ret |= (tmp[i] & 0xFF) << (8 * i); - return ret; + long mask = (1L << numBits) - 1; + return (int) (ret & mask); } /** |