aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/evlist.c
diff options
context:
space:
mode:
authorYasser Shalabi <yassershalabi@gmail.com>2014-10-04 11:37:57 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2014-10-15 16:16:53 -0300
commitb2e19a934a36b2b4affcde9c170c0f01afabe50a (patch)
treeb00d90fd96490014ed6ac0363ebdae221e5a8014 /tools/perf/util/evlist.c
parentperf test: Add test case for pmu event new style format (diff)
downloadlinux-dev-b2e19a934a36b2b4affcde9c170c0f01afabe50a.tar.xz
linux-dev-b2e19a934a36b2b4affcde9c170c0f01afabe50a.zip
perf evlist: Fix for double free in tools/perf stat
Fix for double free bug in tools/perf due to dangling thread_map pointer in perf_evlist struct. Code path excercised when perf stat -C switch is used but not set and is followed by another switch. Example: perf stat -C -e. Signed-off-by: Yasser Shalabi <yassershalabi@gmail.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1412437077-13109-1-git-send-email-yassershalabi@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to '')
-rw-r--r--tools/perf/util/evlist.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index b4b54d84e9b0..3c9e77d6b4c2 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -1003,6 +1003,7 @@ int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
out_delete_threads:
thread_map__delete(evlist->threads);
+ evlist->threads = NULL;
return -1;
}