
We should check argv[3] only if there are enough args. Otherwise, it might cause invalid memory access fault.
Signed-off-by: Thomas Chou thomas@wytron.com.tw --- arch/nios2/lib/bootm.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c index defa1fc..6d339e8 100644 --- a/arch/nios2/lib/bootm.c +++ b/arch/nios2/lib/bootm.c @@ -42,7 +42,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) if (boot_get_fdt(flag, argc, argv, images, &of_flat_tree, &of_size)) return 1; #endif - if (!of_flat_tree) + if (!of_flat_tree && argc > 3) of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16); if (of_flat_tree) initrd_end = (ulong)of_flat_tree;