mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-03 06:53:18 +02:00
cli_classic.c: Reimplement parse_wp_range
Current method modifies the optarg string and causes it to not get printed in future debug log. For example writing the log to a file with -o will show "Command line" without the size parameter of the range. Tested by logging the output and reading the log: ./flashrom -p linux_spi:dev=/dev/spidev0.0 -c "W25Q64JV-.Q" \ --wp-range 0x0,0x00001000 -o logfile && grep 'Command line' logfile Change-Id: I77acd49a5fa17a0af69b4fb1371a131a5249d3dc Signed-off-by: Nikola Z. Ivanov <zlatistiv@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/88162 Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:

committed by
Anastasia Klimchuk

parent
bc8f7c71b8
commit
f1f0dd6ab3
@ -219,26 +219,23 @@ static bool check_file(FILE *file)
|
|||||||
|
|
||||||
static int parse_wp_range(unsigned int *start, unsigned int *len)
|
static int parse_wp_range(unsigned int *start, unsigned int *len)
|
||||||
{
|
{
|
||||||
char *endptr = NULL, *token = NULL;
|
char *delim = NULL;
|
||||||
|
|
||||||
if (!optarg) {
|
if (!optarg) {
|
||||||
msg_gerr("Error: No wp-range values provided\n");
|
msg_gerr("Error: No wp-range values provided\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
token = strtok(optarg, ",");
|
if ((delim = strchr(optarg, ',')) != strrchr(optarg, ',') ||
|
||||||
if (!token) {
|
delim == NULL ||
|
||||||
msg_gerr("Error: Invalid wp-range argument format\n");
|
delim == optarg ||
|
||||||
|
*(delim + 1) == '\0') {
|
||||||
|
msg_gerr("Error: Invalid wp-range argument format. Valid format is --wp-range <start>,<end>\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
*start = strtoul(token, &endptr, 0);
|
|
||||||
|
|
||||||
token = strtok(NULL, ",");
|
*start = strtoul(optarg, NULL, 0);
|
||||||
if (!token) {
|
*len = strtoul(delim+1, NULL, 0);
|
||||||
msg_gerr("Error: Invalid wp-range argument format\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
*len = strtoul(token, &endptr, 0);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user