[PATCH] efi_loader: initialize 'total' variable

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Jun 26 13:07:08 CEST 2025


On Thu, 26 Jun 2025 at 11:05, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 25.06.25 19:15, Ilias Apalodimas wrote:
> > This variable might end up being uninitialized if we exit early.
> >
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > ---
> >   lib/efi_loader/efi_bootmgr.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c
> > index b9437a81c642..662993fb8095 100644
> > --- a/lib/efi_loader/efi_bootmgr.c
> > +++ b/lib/efi_loader/efi_bootmgr.c
> > @@ -1134,7 +1134,7 @@ efi_status_t efi_bootmgr_update_media_device_boot_option(void)
> >   {
> >       u32 i;
> >       efi_status_t ret;
> > -     efi_uintn_t count, num, total;
> > +     efi_uintn_t count, num, total = 0;
>
> 'total' is a non-static local variable.
> The first line using it in origin/next initializes the variable:
>
>      total = num;
>
> If we exit early, local variables are discarded.
> Could you, please, explain your concern.
>
> Best regards
>

The out: tag uses it on a for loop to free allocated opts[] boot options

Cheers
/Ilias

> Heinrich
>
> >       efi_handle_t *handles = NULL;
> >       struct eficonfig_media_boot_option *opt = NULL;
> >
> > --
> > 2.49.0
> >
>


More information about the U-Boot mailing list