When an error occur a 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 occur.

Signed-off-by: Taeung Song <treeze.tae...@gmail.com>
---
 tools/perf/builtin-inject.c | 7 ++++---
 1 file 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;
 }
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to