diff options
author | Marek Vasut <marek.vasut+renesas@mailbox.org> | 2023-03-02 04:08:18 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-03-08 11:40:57 -0800 |
commit | 9d019f5106cc677fefd8ab6ccfc5ba0ed9e0b738 (patch) | |
tree | 868a383974c3413d9b488bdfaadce71018a7f2cd /cmd/fdt.c | |
parent | 778c7ab5a7905dd984ce1fc743962c16b5bf3d82 (diff) | |
download | u-boot-9d019f5106cc677fefd8ab6ccfc5ba0ed9e0b738.tar.gz u-boot-9d019f5106cc677fefd8ab6ccfc5ba0ed9e0b738.tar.bz2 u-boot-9d019f5106cc677fefd8ab6ccfc5ba0ed9e0b738.zip |
cmd: fdt: Check argc before accessing argv in fdt bootcpu
On case 'fdt bootcpu' is invoked without parameters, argv[2] is not
valid and this command would SEGFAULT in sandbox environment. Add
missing argc test to avoid the crash and rather print usage help
message.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/fdt.c')
-rw-r--r-- | cmd/fdt.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -597,7 +597,12 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) * Set boot cpu id */ } else if (strncmp(argv[1], "boo", 3) == 0) { - unsigned long tmp = hextoul(argv[2], NULL); + unsigned long tmp; + + if (argc != 3) + return CMD_RET_USAGE; + + tmp = hextoul(argv[2], NULL); fdt_set_boot_cpuid_phys(working_fdt, tmp); /* |