From 69db2610be9b6b0d67f3dfda28a6059d3b2fb82f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 20 Dec 2012 11:47:09 -0500 Subject: [PATCH] Avoid leaking fds on evconnlistener with no callback set There's no way to retrieve an fd from an evconnlistener whose callback has been cleared, so we had better close any such fd. Found by coverity; CID 739725. --- listener.c | 1 + 1 file changed, 1 insertion(+) diff --git a/listener.c b/listener.c index d21e8dbe..2b67b525 100644 --- a/listener.c +++ b/listener.c @@ -407,6 +407,7 @@ listener_read_cb(evutil_socket_t fd, short what, void *p) evutil_make_socket_nonblocking(new_fd); if (lev->cb == NULL) { + evutil_closesocket(new_fd); UNLOCK(lev); return; }