From ae5c1ebe7de85083d75893d9f0aac439f8d036d8 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 9 Nov 2002 11:30:38 +0000 Subject: [PATCH] Don't call FD_ISSET on an invalid socket descriptor. --- src/sbbs3/mailsrvr.c | 3 ++- src/sbbs3/main.cpp | 6 ++++-- src/sbbs3/websrvr.c | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index a1c395bd53..d38a6c53a3 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -3166,7 +3166,8 @@ void DLLCALL mail_server(void* arg) } - if(FD_ISSET(server_socket,&socket_set)) { + if(server_socket!=INVALID_SOCKET + && FD_ISSET(server_socket,&socket_set)) { client_addr_len = sizeof(client_addr); client_socket = accept(server_socket, (struct sockaddr *)&client_addr diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 4f163d9679..a0d543c113 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -3765,10 +3765,12 @@ void DLLCALL bbs_thread(void* arg) bool rlogin = false; - if(FD_ISSET(telnet_socket,&socket_set)) + if(telnet_socket!=INVALID_SOCKET + && FD_ISSET(telnet_socket,&socket_set)) client_socket = accept_socket(telnet_socket, (struct sockaddr *)&client_addr ,&client_addr_len); - else if(rlogin_socket!=INVALID_SOCKET && FD_ISSET(rlogin_socket,&socket_set)) { + else if(rlogin_socket!=INVALID_SOCKET + && FD_ISSET(rlogin_socket,&socket_set)) { client_socket = accept_socket(rlogin_socket, (struct sockaddr *)&client_addr ,&client_addr_len); rlogin = true; diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 673000ab6b..b0bd719de2 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -2346,7 +2346,8 @@ void DLLCALL web_server(void* arg) client_addr_len = sizeof(client_addr); - if(FD_ISSET(server_socket,&socket_set)) + if(server_socket!=INVALID_SOCKET + && FD_ISSET(server_socket,&socket_set)) client_socket = accept(server_socket, (struct sockaddr *)&client_addr ,&client_addr_len); else { -- GitLab