tools: mkimage: Print human readable error when -d is not specified
authorPali Rohár <pali@kernel.org>
Sun, 8 Jan 2023 22:28:39 +0000 (23:28 +0100)
committerStefan Roese <sr@denx.de>
Wed, 1 Mar 2023 05:39:17 +0000 (06:39 +0100)
When asking mkimage to create a new image file and option -d is not
specified then mkimage show human unfriendly error message:

  mkimage: Can't open (null): Bad address

Without debugger it is hard to debug what is the issue. Function open() is
being called with file name set to NULL. So add a check for this and if it
happens then show human readable message that option -d was not specified.

Signed-off-by: Pali Rohár <pali@kernel.org>
tools/mkimage.c

index 0b34215..5e0bb91 100644 (file)
@@ -600,6 +600,11 @@ int main(int argc, char **argv)
        }
 
        if ((params.type != IH_TYPE_MULTI) && (params.type != IH_TYPE_SCRIPT)) {
+               if (!params.datafile) {
+                       fprintf(stderr, "%s: Option -d with image data file was not specified\n",
+                               params.cmdname);
+                       exit(EXIT_FAILURE);
+               }
                dfd = open(params.datafile, O_RDONLY | O_BINARY);
                if (dfd < 0) {
                        fprintf(stderr, "%s: Can't open %s: %s\n",