diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2014-07-16 03:19:44 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2014-07-17 09:34:07 -0400 |
commit | 418029b7324f8b90ac1dfbc8a44555d6905be761 (patch) | |
tree | 58cda698a75560911cf01a0c103f3e51d91286d4 /tools/perf | |
parent | 9608b84e4dd95341b88cad646b114811f5bccbba (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.c | 4 |
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; |