perf trace: Fix off by one string allocation problem
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 17 Aug 2017 18:12:55 +0000 (15:12 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 17 Aug 2017 19:39:14 +0000 (16:39 -0300)
We need to consider the null terminator, oops, fix it.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: 017037ff3d0b ("perf trace: Allow specifying list of syscalls and events in -e/--expr/--event")
Link: http://lkml.kernel.org/n/tip-j79jpqqe91gvxqmsgxgfn2ni@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-trace.c

index de02413a25d3cbcd420171bc31f08ee977df414a..91905839e386d7fec28f6f105cbe81a8d85f1bff 100644 (file)
@@ -2806,7 +2806,7 @@ static int trace__parse_events_option(const struct option *opt, const char *str,
        struct trace *trace = (struct trace *)opt->value;
        const char *s = str;
        char *sep = NULL, *lists[2] = { NULL, NULL, };
-       int len = strlen(str), err = -1, list;
+       int len = strlen(str) + 1, err = -1, list;
        char *strace_groups_dir = system_path(STRACE_GROUPS_DIR);
        char group_name[PATH_MAX];