perf trace: Fix forgotten close of file/dir
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Mon, 28 Dec 2009 08:49:38 +0000 (16:49 +0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 28 Dec 2009 09:36:36 +0000 (10:36 +0100)
Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Clark Williams <williams@redhat.com>
Cc: John Kacur <jkacur@redhat.com>
LKML-Reference: <4B387122.7090801@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/util/trace-event-info.c

index 535176dc95b6e9b54cf1173401af189c95c1d30b..407fd65b6cdb9dcaeef09426aa4108648a2a8618 100644 (file)
@@ -253,6 +253,8 @@ static void read_header_files(void)
        write_or_die("header_page", 12);
        write_or_die(&size, 8);
        check_size = copy_file_fd(fd);
+       close(fd);
+
        if (size != check_size)
                die("wrong size for '%s' size=%lld read=%lld",
                    path, size, check_size);
@@ -271,6 +273,7 @@ static void read_header_files(void)
        if (size != check_size)
                die("wrong size for '%s'", path);
        put_tracing_file(path);
+       close(fd);
 }
 
 static bool name_in_tp_list(char *sys, struct tracepoint_path *tps)
@@ -337,6 +340,7 @@ static void copy_event_system(const char *sys, struct tracepoint_path *tps)
 
                free(format);
        }
+       closedir(dir);
 }
 
 static void read_ftrace_files(struct tracepoint_path *tps)
@@ -407,6 +411,7 @@ static void read_event_files(struct tracepoint_path *tps)
                free(sys);
        }
 
+       closedir(dir);
        put_tracing_file(path);
 }