On 7/31/23 10:53, Masahisa Kojima wrote:
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.koj...@linaro.org>

Reviewed-by: Heinrich Schuchardt <xypron.g...@gmx.de>

---
  lib/efi_loader/efi_firmware.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
index b557738370..9abb29f1df 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
@@ -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)

Reply via email to