mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-12-02 01:17:52 +03:00
socket.c: Fixed setting max_fd which breaks ssh_select().
Signed-off-by: Andreas Schneider <asn@cynapses.org>
This commit is contained in:
committed by
Andreas Schneider
parent
fe31fcaeef
commit
a92545517a
@@ -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_in,set);
|
||||||
FD_SET(s->fd_out,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;
|
*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;
|
*max_fd = s->fd_out + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user