Repository: mina-sshd
Updated Branches:
  refs/heads/master 4ea5f2b8e -> c703a1f6c


[SSHD-738] "BufferException: Underflow" warning is frequently reported


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/c703a1f6
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/c703a1f6
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/c703a1f6

Branch: refs/heads/master
Commit: c703a1f6c2400c8cc954bd4c6762f69d1091a6f8
Parents: 4ea5f2b
Author: Guillaume Nodet <gno...@apache.org>
Authored: Wed Oct 25 18:26:09 2017 +0200
Committer: Guillaume Nodet <gno...@apache.org>
Committed: Wed Oct 25 18:26:09 2017 +0200

----------------------------------------------------------------------
 .../sshd/common/session/helpers/AbstractSession.java     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c703a1f6/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
index e5f40ce..9e265c8 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.net.SocketAddress;
 import java.net.SocketTimeoutException;
+import java.nio.BufferOverflowException;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -88,6 +89,7 @@ import org.apache.sshd.common.util.Pair;
 import org.apache.sshd.common.util.Readable;
 import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
+import org.apache.sshd.common.util.buffer.BufferException;
 import org.apache.sshd.common.util.buffer.BufferUtils;
 import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 
@@ -740,7 +742,14 @@ public abstract class AbstractSession extends 
AbstractKexFactoryManager implemen
     protected void handleDisconnect(Buffer buffer) throws Exception  {
         int code = buffer.getInt();
         String message = buffer.getString();
-        String languageTag = buffer.getString();
+        String languageTag;
+        // SSHD-738: avoid spamming the log with uninteresting
+        // messages caused by buggy OpenSSH < 5.5
+        if (buffer.available() > 0) {
+            languageTag = buffer.getString();
+        } else {
+            languageTag = "";
+        }
         handleDisconnect(code, message, languageTag, buffer);
     }
 

Reply via email to