aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-09-03 16:22:45 +0200
committerIngo Molnar <mingo@elte.hu>2009-09-03 16:22:45 +0200
commit6f4596d9312ba5fbf5f3231ef484823c4e684d2e (patch)
tree877465917e5d8afc46f4cc0907c2befd1dd104cc
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>
-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 b12e4903739..a1217a10632 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)
}
}
+ /* trailing \0: */
+ i++;
+
/* move the file descriptor to the end of the string */
- r = lseek(input_fd, -(r - (i+1)), SEEK_CUR);
+ r = lseek(input_fd, -(r - i), SEEK_CUR);
if (r < 0)
die("lseek");