diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c index 84c9c98..3ff2aac 100644 --- a/libvncserver/sockets.c +++ b/libvncserver/sockets.c @@ -402,9 +402,9 @@ rfbProcessNewConnection(rfbScreenInfoPtr rfbScreen) rfbLogPerror("rfbProcessNewConnection: error in select"); return FALSE; } - if (FD_ISSET(rfbScreen->listenSock, &listen_fds)) + if (rfbScreen->listenSock >= 0 && FD_ISSET(rfbScreen->listenSock, &listen_fds)) chosen_listen_sock = rfbScreen->listenSock; - if (FD_ISSET(rfbScreen->listen6Sock, &listen_fds)) + if (rfbScreen->listen6Sock >= 0 && FD_ISSET(rfbScreen->listen6Sock, &listen_fds)) chosen_listen_sock = rfbScreen->listen6Sock; if ((sock = accept(chosen_listen_sock,