nios2: fix bootm error on fdt args
authorThomas Chou <thomas@wytron.com.tw>
Fri, 30 Jul 2010 06:12:12 +0000 (14:12 +0800)
committerScott McNutt <smcnutt@psyent.com>
Fri, 20 Aug 2010 02:15:49 +0000 (22:15 -0400)
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>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
arch/nios2/lib/bootm.c

index e25a1137f18a18a9c9d2d62e96950a1d8b350355..40a4d15027a0639d2b4afa8feac40ee621a234ae 100644 (file)
@@ -42,7 +42,7 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima
        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;