• Dave Cheney's avatar
    exp/ssh: fix two flow control bugs in chanWriter · 424f53fa
    Dave Cheney authored
    This CL fixes two issues sending data to the remote peer.
    The first bug occurs when the size of the buffer passed to
    Write is larger than the current window, in this case, w.rwin
    can become negative.
    
    The second issue is more problematic than the first as the
    amount of data passed to writePacket was not limited to w.rwin.
    In this case the remote peer could silently drop the additional
    data, or drop the connection.
    
    Credit to Jacek Masiulaniec for the bug report.
    
    R=agl, jacek.masiulaniec
    CC=golang-dev
    https://golang.org/cl/5511043
    424f53fa
client.go 13.5 KB