In create_record(), if the client whose conection it just accepted doesn't match, it tries to call get another connection without releasing the socket file descriptor. Close the file descriptor before retrying to connect. Fixes a RESOURCE_LEAK error (CWE-772) Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> --- tracecmd/trace-record.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index c3118546..0191ef2a 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -3651,6 +3651,7 @@ static int create_recorder(struct buffer_instance *instance, int cpu, !trace_net_cmp_connection_fd(fd, instance->host)) { dprint("Client does not match '%s' for cpu:%d\n", instance->host, cpu); + close(fd); goto again; } } -- 2.44.0