
On 2019-04-09, Jordan Hand wrote:
Signed-off-by: Jordan Hand jorhand@microsoft.com
Image type is not supplied to `mkimage -l`. For this reason, we cannot use imagetool_verify_print_header_by_type. Instead, this patch uses imagetool_verify_print_header to look through all header types to find one where image validation succeeds.
This patch fixes failures in test/image/test-imagetools.sh
tools/mkimage.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-)
Works for me.
Tested-by: Vagrant Cascadian vagrant@debian.org
live well, vagrant
diff --git a/tools/mkimage.c b/tools/mkimage.c index 2899adff81..d1e1a6743d 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, ¶ms);
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, ¶ms);
} 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, ¶ms);
}
(void) munmap((void *)ptr, sbuf.st_size); (void) close (ifd);