cmd: fdt: Check argc before accessing argv in fdt memory
On case 'fdt memory' is invoked without parameters, argv[2]/argv[3] 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>
This commit is contained in:
@@ -611,6 +611,10 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||||||
} else if (strncmp(argv[1], "me", 2) == 0) {
|
} else if (strncmp(argv[1], "me", 2) == 0) {
|
||||||
uint64_t addr, size;
|
uint64_t addr, size;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
if (argc != 4)
|
||||||
|
return CMD_RET_USAGE;
|
||||||
|
|
||||||
addr = simple_strtoull(argv[2], NULL, 16);
|
addr = simple_strtoull(argv[2], NULL, 16);
|
||||||
size = simple_strtoull(argv[3], NULL, 16);
|
size = simple_strtoull(argv[3], NULL, 16);
|
||||||
err = fdt_fixup_memory(working_fdt, addr, size);
|
err = fdt_fixup_memory(working_fdt, addr, size);
|
||||||
|
Reference in New Issue
Block a user