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.
This commit is contained in:
Remi Tricot-Le Breton 2021-01-14 15:26:24 +01:00 committed by Christopher Faulet
parent 1cdc028687
commit 25dd0ad123

View File

@ -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;