From 3377cb21dbf31f17ebb31fe953b33d559f044ca0 Mon Sep 17 00:00:00 2001 From: Jamie McCrae Date: Fri, 23 Aug 2024 08:16:47 +0100 Subject: [PATCH] bootutil: loader: Add protected TLV size to image size check The protected TLV section was not included in the size check of if an image could fit into a slot, which means that it was possible for file to be deemed as OK for storing but then failing due to insufficient flash space during the update Signed-off-by: Jamie McCrae --- boot/bootutil/src/loader.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c index 60a78a1cd..a3704143e 100644 --- a/boot/bootutil/src/loader.c +++ b/boot/bootutil/src/loader.c @@ -877,6 +877,16 @@ boot_is_header_valid(const struct image_header *hdr, const struct flash_area *fa return false; } +#ifdef MCUBOOT_DECOMPRESS_IMAGES + if (!MUST_DECOMPRESS(fap, BOOT_CURR_IMG(state), hdr)) { +#else + if (1) { +#endif + if (!boot_u32_safe_add(&size, size, hdr->ih_protect_tlv_size)) { + return false; + } + } + if (size >= flash_area_get_size(fap)) { return false; }