]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - tools/fit_check_sign.c
net: fec_mxc: move CONFIG_FEC_MXC_PHYADDR from Kconfig to include/configs/*.h
[karo-tx-uboot.git] / tools / fit_check_sign.c
index d6d93400949bacfab2678bdc8376520079682367..69e99c0d179e048231b8c6ef0429e47e54ec3cfe 100644 (file)
@@ -42,12 +42,13 @@ int main(int argc, char **argv)
        void *fit_blob;
        char *fdtfile = NULL;
        char *keyfile = NULL;
-       char cmdname[50];
+       char cmdname[256];
        int ret;
        void *key_blob;
        int c;
 
-       strcpy(cmdname, *argv);
+       strncpy(cmdname, *argv, sizeof(cmdname) - 1);
+       cmdname[sizeof(cmdname) - 1] = '\0';
        while ((c = getopt(argc, argv, "f:k:")) != -1)
                switch (c) {
                case 'f':
@@ -61,20 +62,31 @@ int main(int argc, char **argv)
                        break;
        }
 
-       ffd = mmap_fdt(cmdname, fdtfile, &fit_blob, &fsbuf, 0);
+       if (!fdtfile) {
+               fprintf(stderr, "%s: Missing fdt file\n", *argv);
+               usage(*argv);
+       }
+       if (!keyfile) {
+               fprintf(stderr, "%s: Missing key file\n", *argv);
+               usage(*argv);
+       }
+
+       ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false);
        if (ffd < 0)
                return EXIT_FAILURE;
-       kfd = mmap_fdt(cmdname, keyfile, &key_blob, &ksbuf, 0);
+       kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false);
        if (ffd < 0)
                return EXIT_FAILURE;
 
        image_set_host_blob(key_blob);
        ret = fit_check_sign(fit_blob, key_blob);
-
-       if (ret)
+       if (!ret) {
                ret = EXIT_SUCCESS;
-       else
+               fprintf(stderr, "Signature check OK\n");
+       } else {
                ret = EXIT_FAILURE;
+               fprintf(stderr, "Signature check Bad (error %d)\n", ret);
+       }
 
        (void) munmap((void *)fit_blob, fsbuf.st_size);
        (void) munmap((void *)key_blob, ksbuf.st_size);