summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-08-11 11:14:14 +0300
committerStefan Roese <sr@denx.de>2021-09-01 09:07:04 +0300
commitb984056fa696e795625a2f5292859b73176f7713 (patch)
treee683b10762f0b65b30be9a21081298b9b3bc4be0 /tools
parentead4864fa6ccd552b1c2b6941e4b16ed6128b02f (diff)
downloadu-boot-b984056fa696e795625a2f5292859b73176f7713.tar.xz
tools: kwbimage: Verify supported image version
Only image versions 0 and 1 are supported. Verify it in kwbimage_verify_header() function. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'tools')
-rw-r--r--tools/kwbimage.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 00cb338d64..542779ed48 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -1678,9 +1678,7 @@ static int kwbimage_verify_header(unsigned char *ptr, int image_size,
if (checksum != ext_hdr->checksum)
return -FDT_ERR_BADSTRUCTURE;
}
- }
-
- if (image_version((void *)ptr) == 1) {
+ } else if (image_version((void *)ptr) == 1) {
struct main_hdr_v1 *mhdr = (struct main_hdr_v1 *)ptr;
uint32_t offset;
uint32_t size;
@@ -1750,6 +1748,8 @@ static int kwbimage_verify_header(unsigned char *ptr, int image_size,
if (image_checksum32(ptr + offset, size - 4) !=
*(uint32_t *)(ptr + offset + size - 4))
return -FDT_ERR_BADSTRUCTURE;
+ } else {
+ return -FDT_ERR_BADSTRUCTURE;
}
return 0;