This is an automated email from Gerrit. Tarek BOCHKATI ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/6424
-- gerrit commit 5b6ac3559495d388ca3fc4a964c566001543fb32 Author: Tarek BOCHKATI <[email protected]> Date: Thu Jul 29 23:47:07 2021 +0100 flash/at91samd: use COMMAND_PARSE_NUMBER in command handlers the usage of COMMAND_PARSE_NUMBER is safer in COMMAND_HANDLERs since it provides better error checking than strto** functions. Change-Id: I14061cb48da6bac13f9d2896190136f5784b8c07 Signed-off-by: Tarek BOCHKATI <[email protected]> diff --git a/src/flash/nor/at91samd.c b/src/flash/nor/at91samd.c index 76c08d7..feda622 100644 --- a/src/flash/nor/at91samd.c +++ b/src/flash/nor/at91samd.c @@ -1058,17 +1058,8 @@ static COMMAND_HELPER(get_u64_from_hexarg, unsigned int num, uint64_t *value) return ERROR_COMMAND_SYNTAX_ERROR; } - if (strlen(CMD_ARGV[num]) >= 3 && - CMD_ARGV[num][0] == '0' && - CMD_ARGV[num][1] == 'x') { - char *check = NULL; - *value = strtoull(&(CMD_ARGV[num][2]), &check, 16); - if ((value == 0 && errno == ERANGE) || - !check || *check != 0) { - command_print(CMD, "Invalid 64-bit hex value in argument %d.", - num + 1); - return ERROR_COMMAND_SYNTAX_ERROR; - } + if (strlen(CMD_ARGV[num]) >= 3 && CMD_ARGV[num][0] == '0' && CMD_ARGV[num][1] == 'x') { + COMMAND_PARSE_NUMBER(u64, CMD_ARGV[num], *value); } else { command_print(CMD, "Argument %d needs to be a hex value.", num + 1); return ERROR_COMMAND_SYNTAX_ERROR; --
