[PATCH] efi_loader: check uuid_str_to_bin return value

Masahisa Kojima masahisa.kojima at linaro.org
Mon Jul 31 10:53:02 CEST 2023


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 at linaro.org>
---
 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)
-- 
2.34.1



More information about the U-Boot mailing list