diff --git a/core/src/main/java/org/bouncycastle/util/Arrays.java b/core/src/main/java/org/bouncycastle/util/Arrays.java index ae60928061..ee61b7a38a 100644 --- a/core/src/main/java/org/bouncycastle/util/Arrays.java +++ b/core/src/main/java/org/bouncycastle/util/Arrays.java @@ -821,6 +821,11 @@ public static BigInteger[] copyOf(BigInteger[] data, int newLength) public static byte[] copyOfRange(byte[] data, int from, int to) { int newLength = getLength(from, to); + if(newLength < 0) { + StringBuffer sb = new StringBuffer(); + sb.append(from).append(" > ").append(to); + throw new IllegalArgumentException(sb.toString()); + } byte[] tmp = new byte[newLength]; @@ -895,8 +900,8 @@ private static int getLength(int from, int to) int newLength = to - from; if (newLength < 0) { - StringBuffer sb = new StringBuffer(from); - sb.append(" > ").append(to); + StringBuffer sb = new StringBuffer(); + sb.append(from).append(" > ").append(to); throw new IllegalArgumentException(sb.toString()); } return newLength;