From 25dd0ad1239627aa87d9ce25d268546037a97197 Mon Sep 17 00:00:00 2001 From: Remi Tricot-Le Breton Date: Thu, 14 Jan 2021 15:26:24 +0100 Subject: [PATCH] BUG/MINOR: sock: Unclosed fd in case of connection allocation failure If allocating a connection object failed right after a successful accept on a listener, the new file descriptor was not properly closed. This fixes GitHub issue #905. It can be backported to 2.3. --- src/sock.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sock.c b/src/sock.c index 20ebdd0..596be43 100644 --- a/src/sock.c +++ b/src/sock.c @@ -161,6 +161,9 @@ struct connection *sock_accept_conn(struct listener *l, int *status) fail_conn: sockaddr_free(&addr); + /* The accept call already succeeded by the time we try to allocate the connection, + * we need to close it in case of failure. */ + close(cfd); fail_addr: ret = CO_AC_PAUSE; goto done; -- 1.7.10.4