Ignore trailing data after the uimage data and only complain if the
file is too small.

(E.G. if the uImage was stored in flash and hence padded to the flash
sector size).

Signed-off-by: Peter Korsgaard <[EMAIL PROTECTED]>
---
 tools/mkimage.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/tools/mkimage.c b/tools/mkimage.c
index 967fe9a..58fd20f 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -523,7 +523,14 @@ image_verify_header (char *ptr, int image_size)
        }
 
        data = ptr + sizeof(image_header_t);
-       len  = image_size - sizeof(image_header_t) ;
+       len  = ntohl(hdr->ih_size);
+       if (len > (image_size - sizeof(image_header_t))) {
+               fprintf (stderr,
+                       "%s: ERROR: \"%s\" is too short (%d vs %d bytes)!\n",
+                        cmdname, imagefile,
+                        image_size - sizeof(image_header_t), len);
+               exit (EXIT_FAILURE);
+       }
 
        if (crc32 (0, data, len) != ntohl(hdr->ih_dcrc)) {
                fprintf (stderr,
-- 
1.5.6.5

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to