Fix potential fd leak in listener_read_cb()

As pointed out by harlan_ in #libevent after running a coverity sweep.
If the listener is free'd, 'new_fd' is never closed.
This commit is contained in:
Mark Ellzey 2015-04-27 22:59:42 -04:00
parent c51b159cff
commit 571dbac81a

View File

@ -421,6 +421,8 @@ listener_read_cb(evutil_socket_t fd, short what, void *p)
if (lev->refcnt == 1) {
int freed = listener_decref_and_unlock(lev);
EVUTIL_ASSERT(freed);
evutil_closesocket(new_fd);
return;
}
--lev->refcnt;