2009-10-19 16:56:15

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [PATCH] perf tools: Shut up compiler warning

cc1: warnings being treated as errors
util/trace-event-parse.c: In function ‘parse_ftrace_printk’:
util/trace-event-parse.c:289: warning: ‘fmt’ may be used uninitialized in this function

Cc: Steven Rostedt <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/trace-event-parse.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
index 4b61b49..0b8a01b 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -286,7 +286,7 @@ void parse_ftrace_printk(char *file, unsigned int size __unused)
char *line;
char *next = NULL;
char *addr_str;
- char *fmt;
+ char *fmt = NULL;
int i;

line = strtok_r(file, "\n", &next);
--
1.5.5.1


2009-10-20 05:54:48

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Shut up compiler warning


* Arnaldo Carvalho de Melo <[email protected]> wrote:

> cc1: warnings being treated as errors
> util/trace-event-parse.c: In function ‘parse_ftrace_printk’:
> util/trace-event-parse.c:289: warning: ‘fmt’ may be used uninitialized in this function
>
> Cc: Steven Rostedt <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
> ---
> tools/perf/util/trace-event-parse.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
> index 4b61b49..0b8a01b 100644
> --- a/tools/perf/util/trace-event-parse.c
> +++ b/tools/perf/util/trace-event-parse.c
> @@ -286,7 +286,7 @@ void parse_ftrace_printk(char *file, unsigned int size __unused)
> char *line;
> char *next = NULL;
> char *addr_str;
> - char *fmt;
> + char *fmt = NULL;
> int i;
>
> line = strtok_r(file, "\n", &next);

Actually, this might be a real bug that GCC pointed out: what makes sure
that strtok_r() does not return a NULL (no more tokens) and hence fmt
remains NULL (crashing the rest of the parser)?

Ingo

2009-10-20 13:19:44

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] perf tools: Shut up compiler warning

On Tue, 2009-10-20 at 07:54 +0200, Ingo Molnar wrote:
> * Arnaldo Carvalho de Melo <[email protected]> wrote:
>
> > cc1: warnings being treated as errors
> > util/trace-event-parse.c: In function ‘parse_ftrace_printk’:
> > util/trace-event-parse.c:289: warning: ‘fmt’ may be used uninitialized in this function
> >
> > Cc: Steven Rostedt <[email protected]>
> > Cc: Peter Zijlstra <[email protected]>
> > Cc: Frederic Weisbecker <[email protected]>
> > Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
> > ---
> > tools/perf/util/trace-event-parse.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
> > index 4b61b49..0b8a01b 100644
> > --- a/tools/perf/util/trace-event-parse.c
> > +++ b/tools/perf/util/trace-event-parse.c
> > @@ -286,7 +286,7 @@ void parse_ftrace_printk(char *file, unsigned int size __unused)
> > char *line;
> > char *next = NULL;
> > char *addr_str;
> > - char *fmt;
> > + char *fmt = NULL;
> > int i;
> >
> > line = strtok_r(file, "\n", &next);
>
> Actually, this might be a real bug that GCC pointed out: what makes sure
> that strtok_r() does not return a NULL (no more tokens) and hence fmt
> remains NULL (crashing the rest of the parser)?

Ug, yeah that's a bug. That was one of the later changes I did at night.
I'll go look at it and see how it should really be.

Thanks,

-- Steve