aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTaeung Song <treeze.taeung@gmail.com>2015-06-30 04:15:20 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-07-01 16:53:49 -0400
commit9fedfb0c5b05ae6c315de722a0548bb1f1328bf5 (patch)
treed16a47270fc4e904042c598ab1baa6c7fcdab456 /tools
parentceb92913078e41e2305250754e0ea144fc3e9b28 (diff)
perf inject: Fill in the missing session freeing after an error occurs
When an error occur an error value is just returned without freeing the session. So allocating and freeing session have to be matched as a pair even if an error occurs. Signed-off-by: Taeung Song <treeze.taeung@gmail.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/1435652124-22414-2-git-send-email-treeze.taeung@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-inject.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 52ec66b23607..01b06492bd6a 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -630,12 +630,13 @@ int cmd_inject(int argc, const char **argv, const char *prefix __maybe_unused)
630 if (inject.session == NULL) 630 if (inject.session == NULL)
631 return -1; 631 return -1;
632 632
633 if (symbol__init(&inject.session->header.env) < 0) 633 ret = symbol__init(&inject.session->header.env);
634 return -1; 634 if (ret < 0)
635 goto out_delete;
635 636
636 ret = __cmd_inject(&inject); 637 ret = __cmd_inject(&inject);
637 638
639out_delete:
638 perf_session__delete(inject.session); 640 perf_session__delete(inject.session);
639
640 return ret; 641 return ret;
641} 642}