[freenet-cvs] r13624 - trunk/freenet/src/freenet/support

sback at freenetproject.org sback at freenetproject.org
Sat Jun 16 17:26:06 UTC 2007


Author: sback
Date: 2007-06-16 17:26:06 +0000 (Sat, 16 Jun 2007)
New Revision: 13624

Modified:
   trunk/freenet/src/freenet/support/HexUtil.java
Log:
Added a check on length which throws an argument exception if fails. Consequently removed a useless check

Modified: trunk/freenet/src/freenet/support/HexUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/HexUtil.java	2007-06-16 13:36:37 UTC (rev 13623)
+++ trunk/freenet/src/freenet/support/HexUtil.java	2007-06-16 17:26:06 UTC (rev 13624)
@@ -32,7 +32,7 @@
 	 * @return the string of hex chars.
 	 */
 	public static final String bytesToHex(byte[] bs, int off, int length) {
-		if (bs.length <= off)
+		if (bs.length <= off || bs.length < off+length)
 			throw new IllegalArgumentException();
 		StringBuffer sb = new StringBuffer(length * 2);
 		bytesToHexAppend(bs, off, length, sb);
@@ -44,8 +44,10 @@
 		int off,
 		int length,
 		StringBuffer sb) {
+		if (bs.length <= off || bs.length < off+length)
+			throw new IllegalArgumentException();
 		sb.ensureCapacity(sb.length() + length * 2);
-		for (int i = off; (i < (off + length)) && (i < bs.length); i++) {
+		for (int i = off; i < (off + length); i++) {
 			sb.append(Character.forDigit((bs[i] >>> 4) & 0xf, 16));
 			sb.append(Character.forDigit(bs[i] & 0xf, 16));
 		}




More information about the cvs mailing list