[PATCH] mem md: make md -s /dev/something work again
Sascha Hauer
s.hauer at pengutronix.de
Tue Jul 31 15:45:42 EDT 2012
Since
|commit d22b85a203aea20a2b2618f5f457fe96c502868d
|Author: Sascha Hauer <s.hauer at 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 at pengutronix.de>
---
commands/mem.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/commands/mem.c b/commands/mem.c
index 5322def..cc94062 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);
--
1.7.10.4
More information about the barebox
mailing list