Adds hex dump length safety check
diff --git a/mina-core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java b/mina-core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
index 844ca96..0313d79 100644
--- a/mina-core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
+++ b/mina-core/src/main/java/org/apache/mina/core/buffer/IoBuffer.java
@@ -1545,8 +1545,8 @@
 	 * @return hexidecimal representation of this buffer
 	 */
 	public String getHexDump(int length, boolean pretty) {
-		return (pretty) ? IoBufferHexDumper.getPrettyHexDumpSlice(this, this.position(), length)
-				: IoBufferHexDumper.getHexDumpSlice(this, this.position(), length);
+		return (pretty) ? IoBufferHexDumper.getPrettyHexDumpSlice(this, this.position(), Math.min(this.remaining(), length))
+				: IoBufferHexDumper.getHexDumpSlice(this, this.position(), Math.min(this.remaining(), length));
 	}
 
 	// //////////////////////////////
diff --git a/mina-core/src/main/java/org/apache/mina/core/buffer/IoBufferHexDumper.java b/mina-core/src/main/java/org/apache/mina/core/buffer/IoBufferHexDumper.java
index 14f4582..ef02ed3 100644
--- a/mina-core/src/main/java/org/apache/mina/core/buffer/IoBufferHexDumper.java
+++ b/mina-core/src/main/java/org/apache/mina/core/buffer/IoBufferHexDumper.java
@@ -20,7 +20,6 @@
 package org.apache.mina.core.buffer;
 
 import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
 
 /**
  * Provides utility methods to dump an {@link IoBuffer} into a hex formatted
diff --git a/mina-core/src/test/java/org/apache/mina/core/buffer/IoBufferHexDumperTest.java b/mina-core/src/test/java/org/apache/mina/core/buffer/IoBufferHexDumperTest.java
index cc47a43..e17b454 100644
--- a/mina-core/src/test/java/org/apache/mina/core/buffer/IoBufferHexDumperTest.java
+++ b/mina-core/src/test/java/org/apache/mina/core/buffer/IoBufferHexDumperTest.java
@@ -16,10 +16,6 @@
 
 		buf.flip();
 
-//	System.out.println(buf.getHexDump());
-//	System.out.println(buf.getHexDump(20));
-//	System.out.println(buf.getHexDump(50));
-
 		/* special case */
 		assertEquals(0, buf.getHexDump(0).length());
 
@@ -28,9 +24,9 @@
 		assertEquals((Math.min(300, buf.limit()) * 3) - 1, buf.getHexDump(300).length());
 
 		/* must truncate */
-		assertEquals((7 * 3) + 2, buf.getHexDump(7).length());
-		assertEquals((10 * 3) + 2, buf.getHexDump(10).length());
-		assertEquals((30 * 3) + 2, buf.getHexDump(30).length());
+		assertEquals((7 * 3) - 1, buf.getHexDump(7).length());
+		assertEquals((10 * 3) - 1, buf.getHexDump(10).length());
+		assertEquals((30 * 3) - 1, buf.getHexDump(30).length());
 
 	}
 
@@ -44,15 +40,7 @@
 
 		buf.flip();
 
-//		System.out.println(buf.getHexDump(0, true));
-//		System.out.println(buf.getHexDump(20, true));
-//		System.out.println(buf.getHexDump(50, true));
-
 		String[] dump = buf.getHexDump(50, true).split("\\n");
-
-		for (String x : dump) {
-			System.out.println(x);
-		}
 		
 		assertEquals(4, dump.length);
 	}