If parameter -F is given but FIT support is missing, a NULL pointer might
dereferenced (Coverity CID 350249).

If incorrect parameters are given, provide a message and show usage.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
 tools/mkimage.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/mkimage.c b/tools/mkimage.c
index 760145119d..74bd072832 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -381,6 +381,11 @@ int main(int argc, char **argv)
        }
 
        if (params.fflag){
+               if (!tparams) {
+                       fprintf(stderr, "%s: Missing FIT support\n",
+                               params.cmdname);
+                       exit (EXIT_FAILURE);
+               }
                if (tparams->fflag_handle)
                        /*
                         * in some cases, some additional processing needs
@@ -391,7 +396,7 @@ int main(int argc, char **argv)
                        retval = tparams->fflag_handle(&params);
 
                if (retval != EXIT_SUCCESS)
-                       exit (retval);
+                       usage("Bad parameters for FIT image type");
        }
 
        if (params.lflag || params.fflag) {
-- 
2.34.1

Reply via email to