[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170213124653.6a3be2b3@gandalf.local.home>
Date: Mon, 13 Feb 2017 12:46:53 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] building libtraceevent with clang
On Mon, 13 Feb 2017 14:20:20 -0300
Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> Sure, now take a look at this another one:
>
> commit 6401e4361df183bd9953dce56f7c51d8ef28b11e
> Author: Arnaldo Carvalho de Melo <acme@...hat.com>
> Date: Mon Feb 13 13:33:57 2017 -0300
>
> tools lib traceevent plugin function: Initialize 'index' variable
>
> Detected with clang:
>
> CC /tmp/build/perf/plugin_function.o
> plugin_function.c:145:6: warning: variable 'index' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> if (parent && ftrace_indent->set)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> plugin_function.c:148:29: note: uninitialized use occurs here
> trace_seq_printf(s, "%*s", index*3, "");
> ^~~~~
> plugin_function.c:145:2: note: remove the 'if' if its condition is always true
> if (parent && ftrace_indent->set)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> plugin_function.c:145:6: warning: variable 'index' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
> if (parent && ftrace_indent->set)
> ^~~~~~
> plugin_function.c:148:29: note: uninitialized use occurs here
> trace_seq_printf(s, "%*s", index*3, "");
> ^~~~~
> plugin_function.c:145:6: note: remove the '&&' if its condition is always true
> if (parent && ftrace_indent->set)
> ^~~~~~~~~
> plugin_function.c:133:11: note: initialize the variable 'index' to silence this warning
> int index;
> ^
> = 0
> 2 warnings generated.
I wonder why gcc isn't catching these. These look pretty obvious to me.
>
> Cc: Adrian Hunter <adrian.hunter@...el.com>
> Cc: David Ahern <dsahern@...il.com>
> Cc: Jiri Olsa <jolsa@...nel.org>
> Cc: Namhyung Kim <namhyung@...nel.org>
> Cc: Wang Nan <wangnan0@...wei.com>
> Link: http://lkml.kernel.org/n/tip-b5wyjocel55gorl2jq2cbxrr@git.kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
>
> diff --git a/tools/lib/traceevent/plugin_function.c b/tools/lib/traceevent/plugin_function.c
> index a00ec190821a..42dbf73758f3 100644
> --- a/tools/lib/traceevent/plugin_function.c
> +++ b/tools/lib/traceevent/plugin_function.c
> @@ -130,7 +130,7 @@ static int function_handler(struct trace_seq *s, struct pevent_record *record,
> unsigned long long pfunction;
> const char *func;
> const char *parent;
> - int index;
> + int index = 0;
>
> if (pevent_get_field_val(s, event, "ip", record, &function, 1))
> return trace_seq_putc(s, '!');
>
Reviewed-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
-- Steve
Powered by blists - more mailing lists