]> git.baikalelectronics.ru Git - uboot.git/commit
image: Fix potentially uninitialized data variable
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Mon, 27 Feb 2023 19:56:31 +0000 (20:56 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 30 Mar 2023 19:09:58 +0000 (15:09 -0400)
commit54756038815699bc34d857ded59b280516aec537
tree2351801725725172c0e4d71506b66f790b9b448a
parent2336cb2d912505519a3ff8bf0afe190711b82b7e
image: Fix potentially uninitialized data variable

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@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
boot/image-board.c