diff --git a/slirp/socket.c b/slirp/socket.c index ac6b9549..e9516736 100644 --- a/slirp/socket.c +++ b/slirp/socket.c @@ -632,7 +632,8 @@ tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, uint32_t laddr, (listen(s,1) == SOCKET_ERROR)) { int tmperrno = errno; /* Don't clobber the real reason we failed */ - closesocket(s); + if (s != -1) + closesocket(s); sofree(so); fprintf (stderr, "Socket Error %d", tmperrno); /* Restore the real errno */