]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
tools: imagetool: Skip autodetection of gpimage type
authorPali Rohár <pali@kernel.org>
Sun, 29 Jan 2023 16:45:55 +0000 (17:45 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 6 Feb 2023 19:35:14 +0000 (14:35 -0500)
gpimage type requires only that two first 32-bit words of data file are
non-zero. So basically every random data file can be guessed and verified
as gpimage. So completely skip gpimage type from image autodetection code
to prevent lot of false positive results. Data file with gpimage type can
be still verified and parsed by explicitly specifying -T gpimage.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
tools/imagetool.c

index e1021f44f5add76ca462f5668a565e1918ad14b8..87eee4ad04edf396b308412d939f973316f22579 100644 (file)
@@ -49,6 +49,12 @@ int imagetool_verify_print_header(
                return imagetool_verify_print_header_by_type(ptr, sbuf, tparams, params);
 
        for (curr = start; curr != end; curr++) {
+               /*
+                * Basically every data file can be guessed / verified as gpimage,
+                * so skip autodetection of data file as gpimage as it does not work.
+                */
+               if ((*curr)->check_image_type && (*curr)->check_image_type(IH_TYPE_GPIMAGE) == 0)
+                       continue;
                if ((*curr)->verify_header) {
                        retval = (*curr)->verify_header((unsigned char *)ptr,
                                                     sbuf->st_size, params);