]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: check uuid_str_to_bin return value
authorMasahisa Kojima <masahisa.kojima@linaro.org>
Mon, 31 Jul 2023 08:53:02 +0000 (17:53 +0900)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 3 Aug 2023 07:21:03 +0000 (09:21 +0200)
Check the uuid_str_to_bin return value, skip the node
if the image-type-id property is wrong format.

Addresses-Coverity-ID: 463145 ("Error handling issues")
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/efi_firmware.c

index b557738370eb6caae6afb3c86b51e3dd1f4f689f..9abb29f1dff18aaffcfa197ca0094245d0e650cb 100644 (file)
@@ -159,7 +159,7 @@ static void efi_firmware_get_lsv_from_dtb(u8 image_index,
        const fdt32_t *val;
        const char *guid_str;
        int len, offset, index;
-       int parent;
+       int parent, ret;
 
        *lsv = 0;
 
@@ -173,7 +173,11 @@ static void efi_firmware_get_lsv_from_dtb(u8 image_index,
                guid_str = fdt_getprop(fdt, offset, "image-type-id", &len);
                if (!guid_str)
                        continue;
-               uuid_str_to_bin(guid_str, guid.b, UUID_STR_FORMAT_GUID);
+               ret = uuid_str_to_bin(guid_str, guid.b, UUID_STR_FORMAT_GUID);
+               if (ret < 0) {
+                       log_warning("Wrong image-type-id format.\n");
+                       continue;
+               }
 
                val = fdt_getprop(fdt, offset, "image-index", &len);
                if (!val)