From 89b7b2b93543b34e574175a8255784cffb310145 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Wed, 15 Jun 2011 11:22:17 +0100 Subject: [PATCH] SEC-1764: Remove use of Java 6 method Arrays.copyOfRange. --- .../java/org/springframework/security/crypto/codec/Utf8.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crypto/src/main/java/org/springframework/security/crypto/codec/Utf8.java b/crypto/src/main/java/org/springframework/security/crypto/codec/Utf8.java index 9a2d0c568d..70ffc62a18 100644 --- a/crypto/src/main/java/org/springframework/security/crypto/codec/Utf8.java +++ b/crypto/src/main/java/org/springframework/security/crypto/codec/Utf8.java @@ -22,8 +22,10 @@ public final class Utf8 { public static byte[] encode(CharSequence string) { try { ByteBuffer bytes = CHARSET.newEncoder().encode(CharBuffer.wrap(string)); + byte[] bytesCopy = new byte[bytes.limit()]; + System.arraycopy(bytes.array(), 0, bytesCopy, 0, bytes.limit()); - return Arrays.copyOfRange(bytes.array(), 0, bytes.limit()); + return bytesCopy; } catch (CharacterCodingException e) { throw new IllegalArgumentException("Encoding failed", e); }