diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index 07c81b11d08152965edc1d140381e4e4517a5b3a..5cbf045e7305e1b9b38b37d47e9b10175382d304 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -288,10 +288,17 @@ static int juggle(curl_socket_t *sockfdp, case PASSIVE_CONNECT: sockfd = *sockfdp; - logmsg("waiting for data from client on socket %d", (int)sockfd); - /* there's always a socket to wait for */ - FD_SET(sockfd, &fds_read); - maxfd = sockfd; + if(-1 == sockfd) { + /* eeek, we are supposedly connected and then this cannot be -1 ! */ + logmsg("socket is -1! on %s:%d", __FILE__, __LINE__); + return FALSE; + } + else { + logmsg("waiting for data from client on socket %d", (int)sockfd); + /* there's always a socket to wait for */ + FD_SET(sockfd, &fds_read); + maxfd = sockfd; + } break; case ACTIVE: