diff options
author | Vic Lee <llyzs@163.com> | 2010-09-21 00:32:08 +0800 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2010-09-20 19:24:36 +0200 |
commit | 31fdb4ecf6ea577c5a8dc17e888f091337163258 (patch) | |
tree | d93de0bbf894a38215b86edb5ffd72560be5a4a5 | |
parent | 0b564c358ffa939feca988dc91ad08a2747b8cb5 (diff) | |
download | libssh-31fdb4ecf6ea577c5a8dc17e888f091337163258.tar.gz libssh-31fdb4ecf6ea577c5a8dc17e888f091337163258.tar.xz libssh-31fdb4ecf6ea577c5a8dc17e888f091337163258.zip |
socket.c: Fixed setting max_fd which breaks ssh_select().
Signed-off-by: Andreas Schneider <asn@cynapses.org>
-rw-r--r-- | libssh/socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libssh/socket.c b/libssh/socket.c index 516639c3..c8fd00fb 100644 --- a/libssh/socket.c +++ b/libssh/socket.c @@ -265,7 +265,10 @@ void ssh_socket_fd_set(struct socket *s, fd_set *set, socket_t *max_fd) { if (s->fd == SSH_INVALID_SOCKET) return; FD_SET(s->fd,set); - if (s->fd >= 0 && s->fd != SSH_INVALID_SOCKET) { + + if (s->fd >= 0 && + s->fd >= *max_fd && + s->fd != SSH_INVALID_SOCKET) { *max_fd = s->fd + 1; } } |