diff --git a/tools/kwbimage.c b/tools/kwbimage.c index ccecf87185..df7daa4d6c 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -1615,6 +1615,10 @@ static int kwbimage_verify_header(unsigned char *ptr, int image_size, struct image_tool_params *params) { uint8_t checksum; + size_t header_size = kwbimage_header_size(ptr); + + if (header_size > image_size) + return -FDT_ERR_BADSTRUCTURE; if (!main_hdr_checksum_ok(ptr)) return -FDT_ERR_BADSTRUCTURE;