X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tools%2Ffit_info.c;h=45e0b310f778791e1c4d53e8b2cf136f5db5bb62;hb=1aef95a1aadcf422bf610df787143f4d5536289f;hp=9442ff107249859ab9ab0afa78357057428ad6d9;hpb=ef0af64b1c45b8ee28db12c16c4ee881ee328e44;p=u-boot diff --git a/tools/fit_info.c b/tools/fit_info.c index 9442ff1072..45e0b310f7 100644 --- a/tools/fit_info.c +++ b/tools/fit_info.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2014 * DENX Software Engineering @@ -18,8 +19,6 @@ * some functions added to address abstraction * * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0+ */ #include "mkimage.h" @@ -48,10 +47,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 +68,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);