diff options
author | Steven Rostedt <srostedt@redhat.com> | 2012-01-09 15:58:09 -0500 |
---|---|---|
committer | Namhyung Kim <namhyung@kernel.org> | 2012-07-04 13:40:30 +0900 |
commit | aaf05c725bed1c7a8c940d9215662c78bea05dfd (patch) | |
tree | 54da02fec56da35c1ce9e27ad206b1c81a1ea4d0 /tools | |
parent | 0866a97eb7562409ba792f5e904841dd8e23c8b5 (diff) | |
download | linux-aaf05c725bed1c7a8c940d9215662c78bea05dfd.tar.gz linux-aaf05c725bed1c7a8c940d9215662c78bea05dfd.tar.bz2 linux-aaf05c725bed1c7a8c940d9215662c78bea05dfd.zip |
tools lib traceevent: Fix %pM print format arg handling
When %pM is used, the arg value must be a 6 byte character that will
be printed as a 6 byte MAC address. But the code does a break over the
main code which updates the current processing arg to point to the
next arg. If there are other print arguments after a %pM, they will be
off by one. The next arg will still be processing the %pM arg.
Reported-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-q3g0n1espikynsdkpbi6ue6t@git.kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/lib/traceevent/event-parse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index 872dd35db051..da06c33dcf41 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c @@ -3858,6 +3858,7 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event } else if (*(ptr+1) == 'M' || *(ptr+1) == 'm') { print_mac_arg(s, *(ptr+1), data, size, event, arg); ptr++; + arg = arg->next; break; } |