From ac047993b0105882948744e0cfe5794ea2f16082 Mon Sep 17 00:00:00 2001 From: zouyonghao Date: Mon, 28 Dec 2020 17:10:44 +0800 Subject: [PATCH] Remove mtcp listener before it is freed. Otherwise there may be a use-after-free in ListenerHTSearch. --- mtcp/src/api.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mtcp/src/api.c b/mtcp/src/api.c index c53714bcf..31d12a8bc 100644 --- a/mtcp/src/api.c +++ b/mtcp/src/api.c @@ -949,6 +949,7 @@ CloseListeningSocket(mctx_t mctx, int sockid) pthread_cond_destroy(&listener->accept_cond); pthread_mutex_destroy(&listener->accept_lock); + ListenerHTRemove(mtcp->listeners, listener); free(listener); mtcp->smap[sockid].listener = NULL;