We should check argv[3] only if there are enough args. Otherwise,
it might cause invalid memory access fault.

Signed-off-by: Thomas Chou <[email protected]>
---
 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;
-- 
1.7.2

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to