aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Hand2019-04-09 10:36:09 -0700
committerSimon Glass2019-04-11 20:10:50 -0600
commit73c02e5e4fc1ef53d06289232edd6cc52e3d73f6 (patch)
tree074930de1df90ae1afdd7380663a13b0ead4057b
parent6539700d936bc23925a6344ceaf1403b0c4e52ae (diff)
fdt: Fix mkimage list to try every header type
Signed-off-by: Jordan Hand <jorhand@microsoft.com> Tested-by: Vagrant Cascadian <vagrant@debian.org> Tested-by: Alex Kiernan <alex.kiernan@gmail.com>
-rw-r--r--tools/mkimage.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 2899adff810..d1e1a6743d1 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -403,14 +403,21 @@ int main(int argc, char **argv)
exit (EXIT_FAILURE);
}
- /*
- * scan through mkimage registry for all supported image types
- * and verify the input image file header for match
- * Print the image information for matched image type
- * Returns the error code if not matched
- */
- retval = imagetool_verify_print_header_by_type(ptr, &sbuf,
- tparams, &params);
+ if (params.fflag) {
+ /*
+ * Verifies the header format based on the expected header for image
+ * type in tparams
+ */
+ retval = imagetool_verify_print_header_by_type(ptr, &sbuf,
+ tparams, &params);
+ } else {
+ /**
+ * When listing the image, we are not given the image type. Simply check all
+ * image types to find one that matches our header
+ */
+ retval = imagetool_verify_print_header(ptr, &sbuf,
+ tparams, &params);
+ }
(void) munmap((void *)ptr, sbuf.st_size);
(void) close (ifd);