summaryrefslogtreecommitdiffstats
path: root/commands/mem.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-07-31 17:34:39 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-08-01 08:36:39 +0200
commit239fa8cc9b7ea20061423ee52ba91edc131200e4 (patch)
tree195333be3045ba225b4a44d31c573fd00b13482b /commands/mem.c
parente8bbacab05d8a8e7e86e31e9208457409bcbb1b0 (diff)
downloadbarebox-239fa8cc9b7ea20061423ee52ba91edc131200e4.tar.gz
barebox-239fa8cc9b7ea20061423ee52ba91edc131200e4.tar.xz
mem md: make md -s /dev/something work again
Since |commit d22b85a203aea20a2b2618f5f457fe96c502868d |Author: Sascha Hauer <s.hauer@pengutronix.de> |Date: Wed Jul 4 23:41:13 2012 +0200 | | mem md: bail out without arguments | | Without arguments the 'md' command defaults to show address 0 which | likely results in a NULL pointer exception, so only three keystrokes | are necessary to crash barebox. Show usage instead if 'md' is invoked | without arguments, so that it at least requires an address to be given | to crash barebox. This increases the stability of barebox by 66%. Hurray! barebox does not crash any longer when a plain 'md' without additional arguments is exectuted. However, doing a 'md -s /dev/nor0' was a standard usecase which now does not work anymore. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/mem.c')
-rw-r--r--commands/mem.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/commands/mem.c b/commands/mem.c
index 5322def434..cc94062dfc 100644
--- a/commands/mem.c
+++ b/commands/mem.c
@@ -170,6 +170,9 @@ static int do_mem_md(int argc, char *argv[])
char *filename = DEVMEM;
int mode = O_RWSIZE_4;
+ if (argc < 2)
+ return COMMAND_ERROR_USAGE;
+
if (mem_parse_options(argc, argv, "bwls:", &mode, &filename, NULL) < 0)
return 1;
@@ -180,8 +183,6 @@ static int do_mem_md(int argc, char *argv[])
}
if (size == ~0)
size = 0x100;
- } else {
- return COMMAND_ERROR_USAGE;
}
fd = open_and_lseek(filename, mode | O_RDONLY, start);