diff mbox

kconfig: Fix warning "‘jump’ may be used uninitialized"

Message ID 1415095202-19556-1-git-send-email-syntheticpp@gmx.net (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Kümmel Nov. 4, 2014, 10 a.m. UTC
Signed-off-by: Peter Kümmel <syntheticpp@gmx.net>
---
 scripts/kconfig/menu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Paul Bolle Nov. 4, 2014, 10:35 a.m. UTC | #1
On Tue, 2014-11-04 at 11:00 +0100, Peter Kümmel wrote:

If you add the warning here, people can git grep, or web search, for it.

> Signed-off-by: Peter Kümmel <syntheticpp@gmx.net>
> ---
>  scripts/kconfig/menu.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
> index a26cc5d..bb08960 100644
> --- a/scripts/kconfig/menu.c
> +++ b/scripts/kconfig/menu.c
> @@ -548,7 +548,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
>  {
>  	int i, j;
>  	struct menu *submenu[8], *menu, *location = NULL;
> -	struct jump_key *jump;
> +	struct jump_key *jump = NULL;

If this just silences a warning it would be nice to have something like
                                       /* silence GCC */;

here.

>  
>  	str_printf(r, _("Prompt: %s\n"), _(prop->text));
>  	menu = prop->menu->parent;
> @@ -586,7 +586,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
>  		str_printf(r, _("  Location:\n"));
>  		for (j = 4; --i >= 0; j += 2) {
>  			menu = submenu[i];
> -			if (head && location && menu == location)
> +			if (head && location && menu == location && jump)
>  				jump->offset = strlen(r->s);
>  			str_printf(r, "%*c-> %s", j, ' ',
>  				   _(menu_get_prompt(menu)));

Or can jump actually be used uninitialized? In that case it seems you
should change the commit summary and explain that in the commit
explanation.

But, either way, have a look at the short but heated discussion starting
in https://lkml.org/lkml/2014/10/12/34 first.


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index a26cc5d..bb08960 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -548,7 +548,7 @@  static void get_prompt_str(struct gstr *r, struct property *prop,
 {
 	int i, j;
 	struct menu *submenu[8], *menu, *location = NULL;
-	struct jump_key *jump;
+	struct jump_key *jump = NULL;
 
 	str_printf(r, _("Prompt: %s\n"), _(prop->text));
 	menu = prop->menu->parent;
@@ -586,7 +586,7 @@  static void get_prompt_str(struct gstr *r, struct property *prop,
 		str_printf(r, _("  Location:\n"));
 		for (j = 4; --i >= 0; j += 2) {
 			menu = submenu[i];
-			if (head && location && menu == location)
+			if (head && location && menu == location && jump)
 				jump->offset = strlen(r->s);
 			str_printf(r, "%*c-> %s", j, ' ',
 				   _(menu_get_prompt(menu)));