X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tools%2Ffit_info.c;h=45e0b310f778791e1c4d53e8b2cf136f5db5bb62;hb=adc5701134f7041d7f767b672b66afb8b64ba5ce;hp=afbed7b5995a69a261bae2a4d055963c9fc9b543;hpb=a9468115699de562f08796bf2eabd832435bedec;p=u-boot diff --git a/tools/fit_info.c b/tools/fit_info.c index afbed7b599..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,6 +68,18 @@ int main(int argc, char **argv) break; } + 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) {