From 475cd9fa36ab2ad108f94bb8292bdcdbbbc6e38f Mon Sep 17 00:00:00 2001 From: David Goulet Date: Tue, 30 Sep 2014 11:59:49 -0400 Subject: [PATCH] Fix: fd leak in inet accept call Fixes Coverity issue #1241799. Signed-off-by: David Goulet --- src/common/sessiond-comm/inet.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/sessiond-comm/inet.c b/src/common/sessiond-comm/inet.c index cf06ecb85..32a16a690 100644 --- a/src/common/sessiond-comm/inet.c +++ b/src/common/sessiond-comm/inet.c @@ -305,11 +305,11 @@ struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) ret = lttcomm_setsockopt_rcv_timeout(new_fd, timeout); if (ret) { - goto error; + goto error_close; } ret = lttcomm_setsockopt_snd_timeout(new_fd, timeout); if (ret) { - goto error; + goto error_close; } } @@ -319,6 +319,11 @@ struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) end: return new_sock; +error_close: + if (close(new_fd) < 0) { + PERROR("accept inet close fd"); + } + error: free(new_sock); return NULL; -- 2.34.1