tools: kwbimage: Verify size of v0 image header

Check that extended image header size is not larger than file size.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Pali Rohár 2021-08-11 10:14:15 +02:00 committed by Stefan Roese
parent b984056fa6
commit 33a0af2d80

View File

@ -1670,6 +1670,9 @@ static int kwbimage_verify_header(unsigned char *ptr, int image_size,
if (mhdr->ext & 0x1) {
struct ext_hdr_v0 *ext_hdr;
if (header_size + sizeof(*ext_hdr) > image_size)
return -FDT_ERR_BADSTRUCTURE;
ext_hdr = (struct ext_hdr_v0 *)
(ptr + sizeof(struct main_hdr_v0));
checksum = image_checksum8(ext_hdr,