public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH u-boot 1/2] tools: default_image: Verify header size
@ 2023-01-29 16:44 Pali Rohár
  2023-01-29 16:44 ` [PATCH u-boot 2/2] tools: default_image: Accept images with padding Pali Rohár
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Pali Rohár @ 2023-01-29 16:44 UTC (permalink / raw)
  To: Simon Glass; +Cc: u-boot

Before reading image header, verify that image size is at least size of
the image header.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 tools/default_image.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/default_image.c b/tools/default_image.c
index 4a067e65862e..4aa9a33241cb 100644
--- a/tools/default_image.c
+++ b/tools/default_image.c
@@ -49,6 +49,12 @@ static int image_verify_header(unsigned char *ptr, int image_size,
 	struct legacy_img_hdr header;
 	struct legacy_img_hdr *hdr = &header;
 
+	if (image_size < sizeof(struct legacy_img_hdr)) {
+		debug("%s: Bad image size: \"%s\" is no valid image\n",
+		      params->cmdname, params->imagefile);
+		return -FDT_ERR_BADSTRUCTURE;
+	}
+
 	/*
 	 * create copy of header so that we can blank out the
 	 * checksum field for checking - this can't be done
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-02-07 16:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-29 16:44 [PATCH u-boot 1/2] tools: default_image: Verify header size Pali Rohár
2023-01-29 16:44 ` [PATCH u-boot 2/2] tools: default_image: Accept images with padding Pali Rohár
2023-01-30 15:50   ` Simon Glass
2023-02-06 19:43   ` Tom Rini
2023-02-06 21:47     ` Pali Rohár
2023-02-07 16:53       ` Tom Rini
2023-02-06 22:00     ` Simon Glass
2023-01-30 15:50 ` [PATCH u-boot 1/2] tools: default_image: Verify header size Simon Glass
2023-02-07 16:52 ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox