bootutil: loader: Remove images with conflicting flags
Marks images as invalid if they have conflicting flags, e.g. more
than one type of LZMA compression or more than one type of
encryption
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c
index 743aa9a..7a6b020 100644
--- a/boot/bootutil/src/loader.c
+++ b/boot/bootutil/src/loader.c
@@ -888,12 +888,24 @@
if (IS_ENCRYPTED(hdr)) {
return false;
}
+#else
+ if ((hdr->ih_flags & IMAGE_F_ENCRYPTED_AES128) &&
+ (hdr->ih_flags & IMAGE_F_ENCRYPTED_AES256))
+ {
+ return false;
+ }
#endif
#if !defined(MCUBOOT_DECOMPRESS_IMAGES)
if (IS_COMPRESSED(hdr)) {
return false;
}
+#else
+ if ((hdr->ih_flags & IMAGE_F_COMPRESSED_LZMA1) &&
+ (hdr->ih_flags & IMAGE_F_COMPRESSED_LZMA2))
+ {
+ return false;
+ }
#endif
return true;