diff options
author | Pali Rohár <pali@kernel.org> | 2021-08-11 10:14:14 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2021-09-01 08:07:04 +0200 |
commit | b984056fa696e795625a2f5292859b73176f7713 (patch) | |
tree | e683b10762f0b65b30be9a21081298b9b3bc4be0 /tools | |
parent | ead4864fa6ccd552b1c2b6941e4b16ed6128b02f (diff) | |
download | u-boot-b984056fa696e795625a2f5292859b73176f7713.tar.gz |
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.c | 6 |
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; |