Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Sat, 5 Mar 2016 00:18:42 -0800 | From | tip-bot for Colin Ian King <> | Subject | [tip:perf/core] perf script: Fix double free on command_line |
| |
Commit-ID: 979ac257b00c53aacec3eacf86142e8c00bee889 Gitweb: http://git.kernel.org/tip/979ac257b00c53aacec3eacf86142e8c00bee889 Author: Colin Ian King <colin.king@canonical.com> AuthorDate: Tue, 1 Mar 2016 23:46:20 +0000 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Thu, 3 Mar 2016 11:10:37 -0300
perf script: Fix double free on command_line
The 'command_line' variable is free'd twice if db_export__branch_types() fails. To avoid this, defer the free'ing of 'command_line' to after this call so that the error return path will just free 'command_line' once.
Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: He Kuang <hekuang@huawei.com> Cc: Javi Merino <javi.merino@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1456875980-25606-1-git-send-email-colin.king@canonical.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/scripting-engines/trace-event-python.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index 309d90f..fbd0524 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -1094,8 +1094,6 @@ static int python_start_script(const char *script, int argc, const char **argv) goto error; } - free(command_line); - set_table_handlers(tables); if (tables->db_export_mode) { @@ -1104,6 +1102,8 @@ static int python_start_script(const char *script, int argc, const char **argv) goto error; } + free(command_line); + return err; error: Py_Finalize();
| ![\](/images/icornerr.gif) |