From 38be0c3fdc487f3cc2609266a33a39b96289faba Mon Sep 17 00:00:00 2001 From: Julien Desfossez Date: Wed, 12 Feb 2014 00:28:15 -0500 Subject: [PATCH] Free the filename on sys_close We don't support yet all the syscalls that can return a FD, so we should at least make sure that we don't reuse closed filenames. Signed-off-by: Julien Desfossez --- src/iostreamtop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/iostreamtop.c b/src/iostreamtop.c index f20fcec..f3fef7b 100644 --- a/src/iostreamtop.c +++ b/src/iostreamtop.c @@ -48,7 +48,8 @@ void add_file(struct processtop *proc, struct files *file, int fd) if (tmp_file == NULL) g_ptr_array_index(proc->process_files_table, fd) = file; else { - if (strcmp(tmp_file->name, file->name) != 0) { + if (!tmp_file->name || + strcmp(tmp_file->name, file->name) != 0) { size = proc->process_files_table->len; g_ptr_array_set_size(proc->process_files_table, size+1); @@ -139,6 +140,10 @@ void close_file(struct processtop *proc, int fd) if (file != NULL) { file->flag = __NR_close; lttngtop.nbfiles--; + if (file->name) { + free(file->name); + file->name = NULL; + } } lttngtop.nbclosedfiles++; } -- 2.39.5