Class: ./java.base/share/classes/jdk/internal/util/random/RandomSupport.java 
Method: public static long[] convertSeedBytesToLongs(byte[] seed, int n, int z) 

The method attempts to create an array of longs by consuming the input bytes 
most significant bit first. New bytes are appended to the existing long using 
the OR operator on the signed byte. Due to sign extension this will overwrite 
all the existing bits from 63 to 8 if the next byte is negative.

-------------

Commit messages:
 - JDK-8282144 RandomSupport.convertSeedBytesToLongs sign extension overwrites 
previous bytes

Changes: https://git.openjdk.java.net/jdk/pull/7614/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7614&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8282144
  Stats: 72 lines in 2 files changed: 71 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7614.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7614/head:pull/7614

PR: https://git.openjdk.java.net/jdk/pull/7614

Reply via email to