9
0
Fork 0

scripts: imx-image: add input validation to mw

Stop and print a helpful message if we encounter an
illegal token while parsing the DCD config, instead
of silently swallowing the error and pushing random
stuff into the DCD.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Lucas Stach 2014-08-12 18:05:50 +02:00 committed by Sascha Hauer
parent 9b707a1fa3
commit 75359aaafc
1 changed files with 18 additions and 3 deletions

View File

@ -384,15 +384,30 @@ static int do_cmd_check(int argc, char *argv[])
static int do_cmd_write_mem(int argc, char *argv[])
{
uint32_t addr, val, width;
char *end;
if (argc != 4) {
fprintf(stderr, "usage: wm [8|16|32] <addr> <val>\n");
return -EINVAL;
}
width = strtoul(argv[1], NULL, 0);
addr = strtoul(argv[2], NULL, 0);
val = strtoul(argv[3], NULL, 0);
width = strtoul(argv[1], &end, 0);
if (*end != '\0') {
fprintf(stderr, "illegal width token \"%s\"\n", argv[1]);
return -EINVAL;
}
addr = strtoul(argv[2], &end, 0);
if (*end != '\0') {
fprintf(stderr, "illegal address token \"%s\"\n", argv[2]);
return -EINVAL;
}
val = strtoul(argv[3], &end, 0);
if (*end != '\0') {
fprintf(stderr, "illegal value token \"%s\"\n", argv[3]);
return -EINVAL;
}
width >>= 3;