Commit-ID: f1d1feecf07261d083859ecfef0d4399036f9683 Gitweb: http://git.kernel.org/tip/f1d1feecf07261d083859ecfef0d4399036f9683 Author: Steven Rostedt <srostedt@xxxxxxxxxx> AuthorDate: Wed, 14 Oct 2009 15:43:37 -0400 Committer: Ingo Molnar <mingo@xxxxxxx> 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@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LKML-Reference: <20091014194358.637991808@xxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> --- 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)); -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html