diff --git a/akka-actor/src/main/scala/akka/util/Unsafe.java b/akka-actor/src/main/scala/akka/util/Unsafe.java index 54e5ad094d..c23915e83b 100644 --- a/akka-actor/src/main/scala/akka/util/Unsafe.java +++ b/akka-actor/src/main/scala/akka/util/Unsafe.java @@ -46,7 +46,7 @@ public final class Unsafe { public static void copyUSAsciiStrToBytes(String str, byte[] bytes) { if (isJavaVersion9Plus) { final byte[] chars = (byte[]) instance.getObject(str, stringValueFieldOffset); - System.arraycopy(chars, 0, bytes, 0, chars.length); + System.arraycopy(chars, 0, bytes, 0, str.length()); } else { final char[] chars = (char[]) instance.getObject(str, stringValueFieldOffset); int i = 0; @@ -63,7 +63,7 @@ public final class Unsafe { if (isJavaVersion9Plus) { final byte[] chars = (byte[]) instance.getObject(str, stringValueFieldOffset); - while (i < chars.length) { + while (i < str.length()) { long x = s0 ^ (long)chars[i++]; // Mix character into PRNG state long y = s1; @@ -76,7 +76,7 @@ public final class Unsafe { } } else { final char[] chars = (char[]) instance.getObject(str, stringValueFieldOffset); - while (i < chars.length) { + while (i < str.length()) { long x = s0 ^ (long)chars[i++]; // Mix character into PRNG state long y = s1;