Messages in this thread Patch in this message | | | Date | Thu, 15 Oct 2009 08:49:25 GMT | From | tip-bot for Steven Rostedt <> | Subject | [tip:perf/core] perf tools: Handle newlines in trace parsing better |
| |
Commit-ID: f1d1feecf07261d083859ecfef0d4399036f9683 Gitweb: http://git.kernel.org/tip/f1d1feecf07261d083859ecfef0d4399036f9683 Author: Steven Rostedt <srostedt@redhat.com> AuthorDate: Wed, 14 Oct 2009 15:43:37 -0400 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Thu, 15 Oct 2009 10:42:37 +0200
perf tools: Handle newlines in trace parsing better
New lines between args in the trace format can break the parsing. This should not be the case.
Signed-off-by: Steven Rostedt <srostedt@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <20091014194358.637991808@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- tools/perf/util/trace-event-parse.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index f73ee55..59e4e4d 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -1716,12 +1716,18 @@ process_arg_token(struct event *event, struct print_arg *arg, static int event_read_print_args(struct event *event, struct print_arg **list) { - enum event_type type; + enum event_type type = EVENT_ERROR; struct print_arg *arg; char *token; int args = 0; do { + if (type == EVENT_NEWLINE) { + free_token(token); + type = read_token_item(&token); + continue; + } + arg = malloc_or_die(sizeof(*arg)); memset(arg, 0, sizeof(*arg));
| |