[
https://issues.apache.org/jira/browse/SSHD-634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15128181#comment-15128181
]
Goldstein Lyor commented on SSHD-634:
-------------------------------------
The problem does exist and it seems to be related to the re-use of buffers. The
bug can occur only if there are several packets in the session's decode buffer
(A, B, C), and the reply size for packet A is greater than the packet's size
(it can also for B if reply size is greater than A+B). This is rarely the case
so it does not usually affect the code, but it's there. The fix is to "clone"
the decoded packet data into a new buffer which can then be safely re-used.
> Suspicious read buffer re-use in write command
> ----------------------------------------------
>
> Key: SSHD-634
> URL: https://issues.apache.org/jira/browse/SSHD-634
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 1.0.0
> Reporter: Eugene Petrenko
> Assignee: Goldstein Lyor
> Fix For: 1.2.0
>
>
> From time to time I saw a {{Bad packet length ###}} errors from SSH clients
> that calls commands to the SSHD server running with Apache SSHD.
> It may turn out there are some issues in the implementation.
> I found one suspicious usage of buffers around
> {{org.apache.sshd.common.channel.AbstractChannel#sendResponse}} method. As
> far as I see from the code it uses the read buffer as a place to generate a
> write packet command. Maybe it's worth to create a fresh buffer here to avoid
> it be updated from the other thread while it is put to a write queue
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)