From: Pavel Machek Date: Wed, 9 Jul 2014 20:42:57 +0000 (+0200) Subject: catch wrong load address passed to fatload / ext2load X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=949bbd7c867026e7f8ecb71abe6ebd113eda84d2;p=project%2Fbcm63xx%2Fu-boot.git catch wrong load address passed to fatload / ext2load If filename is passed instead of address to ext2load or fatload, u-boot silently accepts that, and uses 0 for load address and default filename from environment. That is confusing, display help instead. Signed-off-by: Pavel Machek --- diff --git a/fs/fs.c b/fs/fs.c index 79d432d58f..ea15c5f447 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -276,6 +276,7 @@ int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[], unsigned long pos; int len_read; unsigned long time; + char *ep; if (argc < 2) return CMD_RET_USAGE; @@ -286,7 +287,9 @@ int do_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[], return 1; if (argc >= 4) { - addr = simple_strtoul(argv[3], NULL, 16); + addr = simple_strtoul(argv[3], &ep, 16); + if (ep == argv[3] || *ep != '\0') + return CMD_RET_USAGE; } else { addr_str = getenv("loadaddr"); if (addr_str != NULL)