Skip to content

Commit 27617e1

Browse files
committed
libvncserver: check for invalid socket before FD_ISSET in httpd
A mere workaround/mitigation for when the socket is closed by another thread...
1 parent 06cff31 commit 27617e1

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

src/libvncserver/httpd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,8 @@ rfbHttpCheckFds(rfbScreenInfoPtr rfbScreen)
203203
httpProcessInput(rfbScreen);
204204
}
205205

206-
if (FD_ISSET(rfbScreen->httpListenSock, &fds) || FD_ISSET(rfbScreen->httpListen6Sock, &fds)) {
206+
if ((rfbScreen->httpListenSock != RFB_INVALID_SOCKET && FD_ISSET(rfbScreen->httpListenSock, &fds))
207+
|| (rfbScreen->httpListen6Sock != RFB_INVALID_SOCKET && FD_ISSET(rfbScreen->httpListen6Sock, &fds))) {
207208
if (rfbScreen->httpSock != RFB_INVALID_SOCKET) rfbCloseSocket(rfbScreen->httpSock);
208209

209210
if(FD_ISSET(rfbScreen->httpListenSock, &fds)) {

0 commit comments

Comments
 (0)