perf report: Fill in the missing session freeing after an error occurs
authorTaeung Song <treeze.taeung@gmail.com>
Tue, 30 Jun 2015 08:15:24 +0000 (17:15 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 1 Jul 2015 20:53:49 +0000 (17:53 -0300)
When an error occurs 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-6-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-report.c

index 348bed4a2abf5a449be3279b969229444d112c7e..95a47719aec302318defcb8de17fd8789012b819 100644 (file)
@@ -839,8 +839,10 @@ repeat:
        if (report.header || report.header_only) {
                perf_session__fprintf_info(session, stdout,
                                           report.show_full_info);
-               if (report.header_only)
-                       return 0;
+               if (report.header_only) {
+                       ret = 0;
+                       goto error;
+               }
        } else if (use_browser == 0) {
                fputs("# To display the perf.data header info, please use --header/--header-only options.\n#\n",
                      stdout);