aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2014-07-16 03:19:44 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2014-07-17 09:34:07 -0400
commit418029b7324f8b90ac1dfbc8a44555d6905be761 (patch)
tree58cda698a75560911cf01a0c103f3e51d91286d4 /tools/perf
parent9608b84e4dd95341b88cad646b114811f5bccbba (diff)
perf machine: Fix leak of 'struct thread' on error path
__machine__findnew_thread() creates a 'struct thread' but does not free it on the error path. Fix it. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1405495184-20441-3-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/machine.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 5484fa4385fc..93c8b6fbc799 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -370,8 +370,10 @@ static struct thread *__machine__findnew_thread(struct machine *machine,
370 * within thread__init_map_groups to find the thread 370 * within thread__init_map_groups to find the thread
371 * leader and that would screwed the rb tree. 371 * leader and that would screwed the rb tree.
372 */ 372 */
373 if (thread__init_map_groups(th, machine)) 373 if (thread__init_map_groups(th, machine)) {
374 thread__delete(th);
374 return NULL; 375 return NULL;
376 }
375 } 377 }
376 378
377 return th; 379 return th;