mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-09 12:28:19 -04:00
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:
parent
6e7a580c15
commit
a695a720cd
@ -421,6 +421,8 @@ listener_read_cb(evutil_socket_t fd, short what, void *p)
|
|||||||
if (lev->refcnt == 1) {
|
if (lev->refcnt == 1) {
|
||||||
int freed = listener_decref_and_unlock(lev);
|
int freed = listener_decref_and_unlock(lev);
|
||||||
EVUTIL_ASSERT(freed);
|
EVUTIL_ASSERT(freed);
|
||||||
|
|
||||||
|
evutil_closesocket(new_fd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
--lev->refcnt;
|
--lev->refcnt;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user