From: Deepthi V V Date: Tue, 7 Jan 2014 11:29:56 +0000 (+0530) Subject: Fix to convert BigInteger to 64 bit data when MSB is 1. X-Git-Tag: jenkins-openflowplugin-bulk-release-prepare-only-4~47 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=3c84db70fb4b37c9da633f2dc394d184a2dda0e2;p=openflowplugin.git Fix to convert BigInteger to 64 bit data when MSB is 1. When MSB is 1, BigInteger toByteArray resulted in 9 element byte array, which lead to ArrayIndexOutOfBoundsException. Signed-off-by: Deepthi V V --- diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/ByteUtil.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/ByteUtil.java index dc6d5b5078..32a4a59d6f 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/ByteUtil.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/ByteUtil.java @@ -47,7 +47,11 @@ public abstract class ByteUtil { } else { Arrays.fill(outputArray, (byte) 0); } - System.arraycopy(inputArray, 0, outputArray, outputArray.length - inputArray.length, inputArray.length); + System.arraycopy(inputArray, + Math.max(0, inputArray.length - outputArray.length), + outputArray, + Math.max(0, outputArray.length - inputArray.length), + Math.min(outputArray.length, inputArray.length)); return outputArray; } }