diff options
-rw-r--r-- | tests/server/sockfilt.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index 07c81b11d..5cbf045e7 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: |