[PATCH] mkimage: clarify error message for empty input files

Tom Hebb tommyhebb at gmail.com
Mon Aug 2 00:25:39 CEST 2021


On Sun, Aug 1, 2021 at 3:23 PM Thomas Hebb <tommyhebb at gmail.com> wrote:
>
> Currently, an empty imput file causes `mmap()` to fail, and you get an
Whoops, s/imput/input/. Didn't catch this before sending it out.

> error like "mkimage: Can't read file.img: Invalid argument", which is
> extremely unintuitive and hard to diagnose if you don't know what to
> look for. Add an explicit check for an empty file and provide a clear
> error message instead.
>
> We already bounds check the image size when listing and re-signing
> existing images, so we only need this check here, when opening data
> files going into a image.
>
> Signed-off-by: Thomas Hebb <tommyhebb at gmail.com>
>
> ---
>
>  tools/mkimage.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/tools/mkimage.c b/tools/mkimage.c
> index 302bfcf971..fbe883ce36 100644
> --- a/tools/mkimage.c
> +++ b/tools/mkimage.c
> @@ -732,6 +732,12 @@ copy_file (int ifd, const char *datafile, int pad)
>                 exit (EXIT_FAILURE);
>         }
>
> +       if (sbuf.st_size == 0) {
> +               fprintf (stderr, "%s: Input file %s is empty, bailing out\n",
> +                       params.cmdname, datafile);
> +               exit (EXIT_FAILURE);
> +       }
> +
>         ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0);
>         if (ptr == MAP_FAILED) {
>                 fprintf (stderr, "%s: Can't read %s: %s\n",
> --
> 2.32.0
>


More information about the U-Boot mailing list