lkml.org 
[lkml]   [2012]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] perf tools: ensure comm properly terminated If threads in a multi-threaded process have names shorter than the main thread the comm for the named threads is not properly terminated.
Date
e.g., for the process 'namedthreads' where each thread is named noploop%d
where %d is the thread number:

Before:
perf script -f comm,tid,ip,sym,dso
noploop:4ads 21616 400a49 noploop (/tmp/namedthreads)
The 'ads' in the thread comm bleeds over from the process name.

After:
perf script -f comm,tid,ip,sym,dso
noploop:4 21616 400a49 noploop (/tmp/namedthreads)

Signed-off-by: David Ahern <dsahern@gmail.com>
---
tools/perf/util/event.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 2044324..2a6f33c 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -74,6 +74,7 @@ static pid_t perf_event__get_comm_tgid(pid_t pid, char *comm, size_t len)
if (size >= len)
size = len - 1;
memcpy(comm, name, size);
+ comm[size] = '\0';

} else if (memcmp(bf, "Tgid:", 5) == 0) {
char *tgids = bf + 5;
--
1.7.5.4


\
 
 \ /
  Last update: 2012-02-24 20:33    [from the cache]
©2003-2011 Jasper Spaans