From: Stefan Brüns <stefan.bruens@rwth-aachen.de> Date: Sun, 11 Sep 2016 20:51:42 +0000 (+0200) Subject: cmd/fat: Do not crash on write when <bytes> is not specified X-Git-Tag: v2025.01-rc5-pxa1908~8528 X-Git-Url: http://git.dujemihanovic.xyz/%22http:/kyber.dk/phpMyBuilder/static/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=454e3d90302d52b619e6df7ebbe716964cee016e;p=u-boot.git cmd/fat: Do not crash on write when <bytes> is not specified argc is checked, but is off by one. In case <bytes> is not specified, create an empty file, which is identical to the ext4write behaviour. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Reviewed-by: Simon Glass <sjg@chromium.org> --- diff --git a/cmd/fat.c b/cmd/fat.c index 4e207462d9..ad1dc2a49f 100644 --- a/cmd/fat.c +++ b/cmd/fat.c @@ -126,7 +126,7 @@ static int do_fat_fswrite(cmd_tbl_t *cmdtp, int flag, return 1; } addr = simple_strtoul(argv[3], NULL, 16); - count = simple_strtoul(argv[5], NULL, 16); + count = (argc <= 5) ? 0 : simple_strtoul(argv[5], NULL, 16); buf = map_sysmem(addr, count); ret = file_fat_write(argv[4], buf, 0, count, &size); @@ -145,7 +145,7 @@ static int do_fat_fswrite(cmd_tbl_t *cmdtp, int flag, U_BOOT_CMD( fatwrite, 6, 0, do_fat_fswrite, "write file into a dos filesystem", - "<interface> <dev[:part]> <addr> <filename> <bytes>\n" + "<interface> <dev[:part]> <addr> <filename> [<bytes>]\n" " - write file 'filename' from the address 'addr' in RAM\n" " to 'dev' on 'interface'" );