When malloc for jump, 
if (head && location) {
        jump = xmalloc(sizeof(struct jump_key));
        ....
}
And here it is used:
if (head && location && menu == location)
        jump->offset = strlen(r->s);


So I think when jump is used, it must not be NULL; then !=NULL is not needed.
-----Original Message-----
From: Heinrich Schuchardt [mailto:xypron.g...@gmx.de] 
Sent: Tuesday, July 01, 2014 1:03 AM
To: Li, Zhen-Hua; Yann E. MORIN; linux-kbu...@vger.kernel.org; 
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] script/kconfig: remove a warning for menucofig

On 30.06.2014 05:16, Li, Zhen-Hua wrote:
> There is a warning when run "make menuconfig".
>
> scripts/kconfig/menu.c: In function ‘get_symbol_str’:
> scripts/kconfig/menu.c:591:18: warning: ‘jump’ may be used uninitialized in
> this function [-Wmaybe-uninitialized]
>       jump->offset = strlen(r->s);
>                    ^
> scripts/kconfig/menu.c:551:19: note: ‘jump’ was declared here
>    struct jump_key *jump;
>                     ^
>
> It is because the compiler think "jump" is not initialized, though in fact
> it is already initialized.
>
> Signed-off-by: Li, Zhen-Hua <zhen-h...@hp.com>
> ---
>   scripts/kconfig/menu.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
> index a26cc5d..584e0fc 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;
>
Hello Zhen-Hua,

the patch looks incomplete to me. A check
jump != NULL
should be added before accessing parts of structure jump_key.

Best regards

Heinrich Schuchardt

Reply via email to