From 38bd8ba2088dadebe2ef5ad95e33d50ddd336a3a Mon Sep 17 00:00:00 2001 From: Martin Schmatz Date: Mon, 24 Jun 2019 18:17:52 +0200 Subject: [PATCH] [LibOS] Fix handle leak in epoll_ctl --- LibOS/shim/src/sys/shim_epoll.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LibOS/shim/src/sys/shim_epoll.c b/LibOS/shim/src/sys/shim_epoll.c index 0bb135d7..f183c91d 100644 --- a/LibOS/shim/src/sys/shim_epoll.c +++ b/LibOS/shim/src/sys/shim_epoll.c @@ -256,11 +256,13 @@ int shim_do_epoll_ctl (int epfd, int op, int fd, lock(&hdl->lock); LISTP_DEL(epoll_fd, &hdl->epolls, back); unlock(&hdl->lock); - put_handle(epoll_hdl); debug("delete handle %p from epoll handle %p\n", hdl, epoll); + put_handle(epoll_hdl); + put_handle(hdl); + LISTP_DEL(epoll_fd, &epoll->fds, list); epoll->nfds--; free(epoll_fd);