diff options
author | Yasser Shalabi <yassershalabi@gmail.com> | 2014-10-04 11:37:57 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-10-15 15:16:53 -0400 |
commit | b2e19a934a36b2b4affcde9c170c0f01afabe50a (patch) | |
tree | b00d90fd96490014ed6ac0363ebdae221e5a8014 | |
parent | ffe59788e69b548bd62cc9a053253a8af2cdda1d (diff) |
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>
-rw-r--r-- | tools/perf/util/evlist.c | 1 |
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) | |||
1003 | 1003 | ||
1004 | out_delete_threads: | 1004 | out_delete_threads: |
1005 | thread_map__delete(evlist->threads); | 1005 | thread_map__delete(evlist->threads); |
1006 | evlist->threads = NULL; | ||
1006 | return -1; | 1007 | return -1; |
1007 | } | 1008 | } |
1008 | 1009 | ||