Messages in this thread Patch in this message | | | From | Jiri Olsa <> | Subject | [PATCH perf/urgent] perf tools: Fix the code to strip command name | Date | Thu, 20 Apr 2017 11:24:30 +0200 |
| |
Recent commit broke command name strip in perf_event__get_comm_ids function. It replaced left to right search for '\n' with rtrim, which actually does right to left search. It occasionally caught earlier '\n' and kept trash in the command name.
Keeping the ltrim, but moving back the left to right '\n' search instead of the rtrim.
Fixes: bdd97ca63faa ("perf tools: Refactor the code to strip command name with {l,r}trim()") Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Taeung Song <treeze.taeung@gmail.com> Cc: Jin Yao <yao.jin@linux.intel.com> Link: http://lkml.kernel.org/n/tip-51mt8hxaig74zlu42s3rv0i7@git.kernel.org --- tools/perf/util/event.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index cf457ef534da..1a9164a816d9 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c @@ -138,8 +138,15 @@ static int perf_event__get_comm_ids(pid_t pid, char *comm, size_t len, ppids = strstr(bf, "PPid:"); if (name) { + char *nl; + name += 5; /* strlen("Name:") */ - name = rtrim(ltrim(name)); + name = ltrim(name); + + nl = strchr(name, '\n'); + if (nl) + *nl = '\0'; + size = strlen(name); if (size >= len) size = len - 1; -- 2.9.3
| |