perf tools: Use strsep() over strtok_r() for parsing single line
authorSteven Rostedt <srostedt@redhat.com>
Tue, 20 Oct 2009 23:19:35 +0000 (19:19 -0400)
committerIngo Molnar <mingo@elte.hu>
Wed, 21 Oct 2009 11:39:57 +0000 (13:39 +0200)
commit4e3b799d7dbb2a12ca8dca8d3594d32095772973
tree784404eadda2611489b1fec26d42cd2563d7d407
parent60d526f7fa6246b8e32d5b45610d625a5608d988
perf tools: Use strsep() over strtok_r() for parsing single line

The second argument in the strtok_r() function is not to be used
generically and can have different implementations. Currently
the function parsing of the perf trace code uses the second
argument to copy data from. This can crash the tool or just have
unpredictable results.

The correct solution is to use strsep() which has a defined
result.

I also added a check to see if the result was correct, and will
break out of the loop in case it fails to parse as expected.

Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <20091020232034.237814877@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/util/trace-event-parse.c