Re: [PATCH] bootconfig: Initialize ret in xbc_parse_tree()

From: Masami Hiramatsu
Date: Wed Oct 27 2021 - 10:49:16 EST


On Wed, 27 Oct 2021 09:55:12 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
>
> The do while loop continues while ret is zero, but ret is never
> initialized. The check for ret in the loop at the while should always be
> initialized, but if an empty string were to be passed in, q would be NULL
> and p would be '\0', and it would break out of the loop without ever
> setting ret.
>
> Set ret to zero, and then xbc_verify_tree() would be called and catch that
> it is an empty tree and report the proper error.

Thanks for fixing!
Looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>


>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 76db5a27a827c ("bootconfig: Add Extra Boot Config support")

Please update the Fixes tag (and remove Cc: stable, because below one
is still on the -next tree)

Fixes: bdac5c2b243f ("bootconfig: Allocate xbc_data inside xbc_init()")

Thank you,

> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> ---
> lib/bootconfig.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/bootconfig.c b/lib/bootconfig.c
> index a10ab25f6fcc..70e0d52ffd24 100644
> --- a/lib/bootconfig.c
> +++ b/lib/bootconfig.c
> @@ -836,7 +836,7 @@ static int __init xbc_verify_tree(void)
> static int __init xbc_parse_tree(void)
> {
> char *p, *q;
> - int ret, c;
> + int ret = 0, c;
>
> last_parent = NULL;
> p = xbc_data;
> --
> 2.31.1
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>