X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tools%2Ffit_info.c;h=652abcd2bd15434b78298035e53a6d13c9b874e4;hb=c513e9e1e6e1ea2aa177aae3b0eb306c949dcd69;hp=9442ff107249859ab9ab0afa78357057428ad6d9;hpb=ef0af64b1c45b8ee28db12c16c4ee881ee328e44;p=u-boot diff --git a/tools/fit_info.c b/tools/fit_info.c index 9442ff1072..652abcd2bd 100644 --- a/tools/fit_info.c +++ b/tools/fit_info.c @@ -48,10 +48,11 @@ int main(int argc, char **argv) char *fdtfile = NULL; char *nodename = NULL; char *propertyname = NULL; - char cmdname[50]; + char cmdname[256]; int c; - strcpy(cmdname, *argv); + strncpy(cmdname, *argv, sizeof(cmdname) - 1); + cmdname[sizeof(cmdname) - 1] = '\0'; while ((c = getopt(argc, argv, "f:n:p:")) != -1) switch (c) { case 'f': @@ -68,7 +69,19 @@ int main(int argc, char **argv) break; } - ffd = mmap_fdt(cmdname, fdtfile, &fit_blob, &fsbuf, false); + if (!fdtfile) { + fprintf(stderr, "%s: Missing fdt file\n", *argv); + usage(*argv); + } + if (!nodename) { + fprintf(stderr, "%s: Missing node name\n", *argv); + usage(*argv); + } + if (!propertyname) { + fprintf(stderr, "%s: Missing property name\n", *argv); + usage(*argv); + } + ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false); if (ffd < 0) { printf("Could not open %s\n", fdtfile);