From: Pali Rohár <pali@kernel.org>
Date: Wed, 11 Aug 2021 08:14:14 +0000 (+0200)
Subject: tools: kwbimage: Verify supported image version
X-Git-Tag: v2025.01-rc5-pxa1908~1732^2~15
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-favicon.png?a=commitdiff_plain;h=b984056fa696e795625a2f5292859b73176f7713;p=u-boot.git

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>
---

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;