diff mbox series

[U-Boot] efi_loader: Fix warning in efi_load_image()

Message ID 1538318295-12850-1-git-send-email-trini@konsulko.com
State Accepted
Commit 1c3b2f4ae1da02f173315b1fc02b05122c02bd44
Delegated to: Alexander Graf
Headers show
Series [U-Boot] efi_loader: Fix warning in efi_load_image() | expand

Commit Message

Tom Rini Sept. 30, 2018, 2:38 p.m. UTC
As observed with clang:
lib/efi_loader/efi_boottime.c:1624:7: warning: variable 'info'
      is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
                if (ret != EFI_SUCCESS)
                    ^~~~~~~~~~~~~~~~~~
lib/efi_loader/efi_boottime.c:1653:7: note: uninitialized use
      occurs here
        free(info);
             ^~~~
lib/efi_loader/efi_boottime.c:1624:3: note: remove the 'if' if
      its condition is always false
                if (ret != EFI_SUCCESS)
                ^~~~~~~~~~~~~~~~~~~~~~~
lib/efi_loader/efi_boottime.c:1602:31: note: initialize the
      variable 'info' to silence this warning
        struct efi_loaded_image *info;
                                     ^
                                      = NULL

Rather than change how we unwind the function it makes the most sense to
initialize info to NULL so that we can continue to pass it to free().

Fixes: c982874e930d ("efi_loader: refactor efi_setup_loaded_image()")
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 lib/efi_loader/efi_boottime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Heinrich Schuchardt Sept. 30, 2018, 2:57 p.m. UTC | #1
On 09/30/2018 04:38 PM, Tom Rini wrote:
> As observed with clang:
> lib/efi_loader/efi_boottime.c:1624:7: warning: variable 'info'
>       is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
>                 if (ret != EFI_SUCCESS)
>                     ^~~~~~~~~~~~~~~~~~
> lib/efi_loader/efi_boottime.c:1653:7: note: uninitialized use
>       occurs here
>         free(info);
>              ^~~~
> lib/efi_loader/efi_boottime.c:1624:3: note: remove the 'if' if
>       its condition is always false
>                 if (ret != EFI_SUCCESS)
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> lib/efi_loader/efi_boottime.c:1602:31: note: initialize the
>       variable 'info' to silence this warning
>         struct efi_loaded_image *info;
>                                      ^
>                                       = NULL
> 
> Rather than change how we unwind the function it makes the most sense to
> initialize info to NULL so that we can continue to pass it to free().
> 
> Fixes: c982874e930d ("efi_loader: refactor efi_setup_loaded_image()")
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Alexander Graf <agraf@suse.de>
> Signed-off-by: Tom Rini <trini@konsulko.com>

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Alexander Graf Oct. 16, 2018, 2:52 p.m. UTC | #2
> As observed with clang:
> lib/efi_loader/efi_boottime.c:1624:7: warning: variable 'info'
>       is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
>                 if (ret != EFI_SUCCESS)
>                     ^~~~~~~~~~~~~~~~~~
> lib/efi_loader/efi_boottime.c:1653:7: note: uninitialized use
>       occurs here
>         free(info);
>              ^~~~
> lib/efi_loader/efi_boottime.c:1624:3: note: remove the 'if' if
>       its condition is always false
>                 if (ret != EFI_SUCCESS)
>                 ^~~~~~~~~~~~~~~~~~~~~~~
> lib/efi_loader/efi_boottime.c:1602:31: note: initialize the
>       variable 'info' to silence this warning
>         struct efi_loaded_image *info;
>                                      ^
>                                       = NULL
> 
> Rather than change how we unwind the function it makes the most sense to
> initialize info to NULL so that we can continue to pass it to free().
> 
> Fixes: c982874e930d ("efi_loader: refactor efi_setup_loaded_image()")
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Cc: Alexander Graf <agraf@suse.de>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Thanks, applied to efi-2018.11

Alex
diff mbox series

Patch

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 97eb19cd14d2..ddf857ff267d 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -1599,7 +1599,7 @@  static efi_status_t EFIAPI efi_load_image(bool boot_policy,
 					  efi_uintn_t source_size,
 					  efi_handle_t *image_handle)
 {
-	struct efi_loaded_image *info;
+	struct efi_loaded_image *info = NULL;
 	struct efi_loaded_image_obj **image_obj =
 		(struct efi_loaded_image_obj **)image_handle;
 	efi_status_t ret;