On Thu 2014-07-10 01:08:28, Wolfgang Denk wrote: > Dear Pavel Machek, > > In message <20140709204257.ga28...@amd.pavel.ucw.cz> you wrote: > > > > 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 <pa...@denx.de> > > > > diff --git a/fs/fs.c b/fs/fs.c > > index 79d432d..ea15c5f 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; > > What happens in case of filenames that look like numbers, say "0"? > It may be silly to use such, but it should not be impossible to do > so.
It should be ok. This catches error when someone passes non-number as a load address. As long as you pass load address, nothing changes. IOW fatload mmc 0:1 0 filename # always worked/keeps working fatload mmc 0:1 filename # before my patch, this would try to parse filename as number, fail, # and use default load address adn default filename. Not what user # wanted. fatload mmc 0:1 0 0 # Load filename "0" at address 0. Worked before, will work now. Hope this helps, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot