aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlavomir Kaslev <kaslevs@vmware.com>2019-02-14 16:07:21 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-02-14 12:30:22 -0500
commitbdf4e8883530b0d43e5777165f00130c474cde02 (patch)
tree65bbe765d3df2b0d3ef7075da25fbfdabc19fae3
parent1b2ab1e0290efc48e596fd261b3c5d16ed55ecdf (diff)
downloadtrace-cmd-bdf4e8883530b0d43e5777165f00130c474cde02.tar.gz
trace-cmd: Fix tracecmd_recorder leaking file descriptors
tracecmd_recorder is leaking brass pipe() file descriptors it creates for splice()-ing. Fix this. Link: http://lore.kernel.org/linux-trace-devel/20190214140723.27804-1-kaslevs@vmware.com Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--lib/trace-cmd/trace-recorder.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c
index 5331925d..b941cdce 100644
--- a/lib/trace-cmd/trace-recorder.c
+++ b/lib/trace-cmd/trace-recorder.c
@@ -88,6 +88,12 @@ void tracecmd_free_recorder(struct tracecmd_recorder *recorder)
append_file(recorder->page_size, recorder->fd1, recorder->fd2);
}
close:
+ if (recorder->brass[0] >= 0)
+ close(recorder->brass[0]);
+
+ if (recorder->brass[1] >= 0)
+ close(recorder->brass[1]);
+
if (recorder->trace_fd >= 0)
close(recorder->trace_fd);