[ 
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)

Reply via email to