From a92545517ab6d57f8725fa53a7efd8ba7f44e916 Mon Sep 17 00:00:00 2001 From: Vic Lee Date: Mon, 20 Sep 2010 19:22:19 +0200 Subject: socket.c: Fixed setting max_fd which breaks ssh_select(). Signed-off-by: Andreas Schneider --- src/socket.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/socket.c b/src/socket.c index 9d532077..31756da0 100644 --- a/src/socket.c +++ b/src/socket.c @@ -495,10 +495,14 @@ void ssh_socket_fd_set(ssh_socket s, fd_set *set, socket_t *max_fd) { FD_SET(s->fd_in,set); FD_SET(s->fd_out,set); - if (s->fd_in >= 0 && s->fd_in != SSH_INVALID_SOCKET) { + if (s->fd_in >= 0 && + s->fd_in >= *max_fd && + s->fd_in != SSH_INVALID_SOCKET) { *max_fd = s->fd_in + 1; } - if (s->fd_out >= 0 && s->fd_in != SSH_INVALID_SOCKET) { + if (s->fd_out >= 0 && + s->fd_out >= *max_fd && + s->fd_out != SSH_INVALID_SOCKET) { *max_fd = s->fd_out + 1; } } -- cgit v1.2.3