1
1

The libssh2_channel_receive_window_adjust() function failed to set the state

variables at times and thus this function would misbehave on repeated invokes.
Этот коммит содержится в:
Daniel Stenberg 2007-08-12 21:53:32 +00:00
родитель f216b36328
Коммит d90d8bdae7
2 изменённых файлов: 10 добавлений и 0 удалений

8
NEWS
Просмотреть файл

@ -1,6 +1,14 @@
Version 0.18
------------
- Peter O'Gorman reported how a SCP transfer would hang for him, and it was
fairly easy reproducable. One bug was in the transport layer, ignoring to
read more data while there was data left even though it couldn't decrypt the
data that was left due to it being too little... The other bug was in the
channel layer, where the libssh2_channel_receive_window_adjust() function
missed to set the state variables at times and thus this function would
misbehave on repeated invokes.
- Satish Mittal and David J Sullivan fixed an infinit recv() loop in
libssh2_banner_receive()

Просмотреть файл

@ -1327,7 +1327,9 @@ libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
"Unable to send transfer-window adjustment packet, deferring",
0);
channel->adjust_queue = adjustment;
channel->adjust_state = libssh2_NB_state_idle;
} else {
channel->adjust_state = libssh2_NB_state_idle;
channel->remote.window_size += adjustment;
}