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 <jamie.mccrae@nordicsemi.no>
This commit is contained in:
Jamie McCrae 2024-08-23 08:16:47 +01:00 committed by Jamie
parent 4d85e29f3d
commit feb9265f91
1 changed files with 10 additions and 0 deletions

View File

@ -880,6 +880,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;
}