This is an automated email from the ASF dual-hosted git repository.

johnnyv pushed a commit to branch 2.1.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 01e0497e274984ff3e65d709982d3789a8cf42f4
Author: Jonathan Valliere <john...@apache.org>
AuthorDate: Thu Apr 15 01:00:29 2021 -0400

    Adds hex dump length safety check
---
 .../java/org/apache/mina/core/buffer/IoBuffer.java     |  4 ++--
 .../org/apache/mina/core/buffer/IoBufferHexDumper.java |  1 -
 .../apache/mina/core/buffer/IoBufferHexDumperTest.java | 18 +++---------------
 3 files changed, 5 insertions(+), 18 deletions(-)

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 @@ public abstract class IoBuffer implements 
Comparable<IoBuffer> {
         * @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 @@ public class IoBufferHexDumperTest {
 
                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 @@ public class IoBufferHexDumperTest {
                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 @@ public class IoBufferHexDumperTest {
 
                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);
        }

Reply via email to