aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-09-03 10:22:45 -0400
committerIngo Molnar <mingo@elte.hu>2009-09-03 10:22:45 -0400
commit6f4596d9312ba5fbf5f3231ef484823c4e684d2e (patch)
tree877465917e5d8afc46f4cc0907c2befd1dd104cc /tools/perf
parent00fc97863c21c41e257a941e83410c56341e2a5d (diff)
perf trace: Fix read_string()
We did not account for the enclosing \0. Depending on what malloc() gave us this resulted in corrupted version string printouts. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/trace-event-read.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c
index b12e4903739a..a1217a10632f 100644
--- a/tools/perf/util/trace-event-read.c
+++ b/tools/perf/util/trace-event-read.c
@@ -113,8 +113,11 @@ static char *read_string(void)
113 } 113 }
114 } 114 }
115 115
116 /* trailing \0: */
117 i++;
118
116 /* move the file descriptor to the end of the string */ 119 /* move the file descriptor to the end of the string */
117 r = lseek(input_fd, -(r - (i+1)), SEEK_CUR); 120 r = lseek(input_fd, -(r - i), SEEK_CUR);
118 if (r < 0) 121 if (r < 0)
119 die("lseek"); 122 die("lseek");
120 123