commit | 004435719afbe62d7ce6b39d69181b5dd801d598 | [log] [tgz] |
---|---|---|
author | Kenny Root <kroot@google.com> | Thu Aug 15 15:17:27 2013 -0700 |
committer | Kenny Root <kroot@google.com> | Thu Aug 15 15:25:06 2013 -0700 |
tree | 984eba2268de1fa0db571d0a45d1d23e1fba555a | |
parent | a0490ab85c2bba2864d1aab9547bc471c38d78c5 [diff] |
Make sure seed values use full range Bug: 6642616 Change-Id: I773dd31d92207151df05122920170851fa021fd5
diff --git a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java index 5760906..5c0e328 100644 --- a/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java +++ b/luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java
@@ -300,6 +300,11 @@ updateSeed(getRandomBytes(DIGEST_LENGTH)); nextBIndex = HASHBYTES_TO_USE; + // updateSeed(...) updates where the last word of the seed is, so we + // have to read it again. + lastWord = seed[BYTES_OFFSET] == 0 ? 0 + : (seed[BYTES_OFFSET] + extrabytes) >> 3 - 1; + } else if (state == SET_SEED) { System.arraycopy(seed, HASH_OFFSET, copies, HASHCOPY_OFFSET,