[PATCH] image: Fix potentially uninitialized data variable

Simon Glass sjg at chromium.org
Thu Mar 2 00:38:22 CET 2023


On Mon, 27 Feb 2023 at 12:56, Marek Vasut
<marek.vasut+renesas at mailbox.org> wrote:
>
> In case fitImage support is disabled, and image_locate_script() is
> passed a fitImage, then the 'data' variable is used uninitialized.
> Drop into the default: branch of the switch-case statement and do
> not return the uninitialized data, and do not modify the return
> pointer either, just print an error message.
>
> Reported by clang build:
> "
> $ make HOSTCC=clang CC=clang KCFLAGS=-Werror sandbox64_defconfig && make HOSTCC=clang CC=clang KCFLAGS=-Werror
> ...
> boot/image-board.c:1006:7: error: variable 'data' is used uninitialized whenever switch case is taken [-Werror,-Wsometimes-uninitialized]
>         case IMAGE_FORMAT_LEGACY:
>              ^~~~~~~~~~~~~~~~~~~
> include/image.h:608:29: note: expanded from macro 'IMAGE_FORMAT_LEGACY'
>                                 ^~~~
> boot/image-board.c:1128:19: note: uninitialized use occurs here
>         *datap = (char *)data;
>                          ^~~~
> boot/image-board.c:1001:11: note: initialize the variable 'data' to silence this warning
>         u32 *data;
>                  ^
>                   = NULL
> "
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
> ---
> Cc: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> Cc: Michal Simek <michal.simek at amd.com>
> Cc: Oleksandr Suvorov <oleksandr.suvorov at foundries.io>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Stefan Roese <sr at denx.de>
> Cc: Tom Rini <trini at konsulko.com>
> ---
>  boot/image-board.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
>

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list