summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaeung Song <treeze.taeung@gmail.com>2015-06-30 08:15:20 (GMT)
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-07-01 20:53:49 (GMT)
commit9fedfb0c5b05ae6c315de722a0548bb1f1328bf5 (patch)
treed16a47270fc4e904042c598ab1baa6c7fcdab456
parentceb92913078e41e2305250754e0ea144fc3e9b28 (diff)
downloadlinux-9fedfb0c5b05ae6c315de722a0548bb1f1328bf5.tar.xz
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>
-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 52ec66b..01b0649 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)
if (inject.session == NULL)
return -1;
- if (symbol__init(&inject.session->header.env) < 0)
- return -1;
+ ret = symbol__init(&inject.session->header.env);
+ if (ret < 0)
+ goto out_delete;
ret = __cmd_inject(&inject);
+out_delete:
perf_session__delete(inject.session);
-
return ret;
}