summaryrefslogtreecommitdiff
path: root/tools/mkimage.c
diff options
context:
space:
mode:
authorThomas Hebb <tommyhebb@gmail.com>2021-08-01 15:23:13 -0700
committerTom Rini <trini@konsulko.com>2021-09-01 19:25:37 -0400
commiteaa6442e4f4883418f595127b5bb12355ca9817d (patch)
tree977c5b92c8c8a302e3db7a06fd47e57495dc5724 /tools/mkimage.c
parent295ab733df05f673117d1576dd257afbba41366b (diff)
mkimage: clarify error message for empty input files
Currently, an empty imput file causes `mmap()` to fail, and you get an 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@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/mkimage.c')
-rw-r--r--tools/mkimage.c6
1 files changed, 6 insertions, 0 deletions
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",