*** CID 1241799: Resource leak (RESOURCE_LEAK) /src/common/sessiond-comm/inet.c: 324 in lttcomm_accept_inet_sock() 318 319 end: 320 return new_sock; 321 322 error: 323 free(new_sock); >>> CID 1241799: Resource leak (RESOURCE_LEAK) >>> Handle variable "new_fd" going out of scope leaks the handle. 324 return NULL; 325 } 326 327 /* 328 * Make the socket listen using LTTNG_SESSIOND_COMM_MAX_LISTEN. 329 */
Signed-off-by: Mathieu Desnoyers <[email protected]> --- src/common/sessiond-comm/inet.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/common/sessiond-comm/inet.c b/src/common/sessiond-comm/inet.c index cf06ecb..4e34ad0 100644 --- a/src/common/sessiond-comm/inet.c +++ b/src/common/sessiond-comm/inet.c @@ -272,7 +272,7 @@ error_connect: LTTNG_HIDDEN struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) { - int new_fd; + int new_fd, closeret; socklen_t len; struct lttcomm_sock *new_sock; unsigned long timeout; @@ -305,10 +305,18 @@ struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock) ret = lttcomm_setsockopt_rcv_timeout(new_fd, timeout); if (ret) { + closeret = close(new_fd); + if (closeret) { + PERROR("close"); + } goto error; } ret = lttcomm_setsockopt_snd_timeout(new_fd, timeout); if (ret) { + closeret = close(new_fd); + if (closeret) { + PERROR("close"); + } goto error; } } -- 2.1.0 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
