jtag/cmcis_dap: use COMMAND_PARSE_NUMBER in command handlers
authorTarek BOCHKATI <tarek.bouchkati@gmail.com>
Thu, 29 Jul 2021 22:44:36 +0000 (23:44 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 22 Aug 2021 11:10:26 +0000 (11:10 +0000)
the usage of COMMAND_PARSE_NUMBER is safer in COMMAND_HANDLERs since it provides
better error checking than strto** functions.

Change-Id: Ife9342c6088a241a0a4b77f9bd21f12c9b9862a0
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6420
Reviewed-by: Adrian M Negreanu <adrian.negreanu@nxp.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/jtag/drivers/cmsis_dap.c
src/jtag/drivers/cmsis_dap_usb_bulk.c

index 06d5c69623032c40e7f811902ced62e706e1ff88..9bd4cb73a4c8ed1f439757e400b566be9334966c 100644 (file)
@@ -2004,7 +2004,7 @@ COMMAND_HANDLER(cmsis_dap_handle_cmd_command)
        uint8_t *command = cmsis_dap_handle->command;
 
        for (unsigned i = 0; i < CMD_ARGC; i++)
-               command[i] = strtoul(CMD_ARGV[i], NULL, 16);
+               COMMAND_PARSE_NUMBER(u8, CMD_ARGV[i], command[i]);
 
        int retval = cmsis_dap_xfer(cmsis_dap_handle, CMD_ARGC);
 
index cb3e02fe2be9c9c7d818d07e6e9413503dc82a98..26c6784f962c7e1451281b4e81c8d6fee4cc6f30 100644 (file)
@@ -464,7 +464,7 @@ static int cmsis_dap_usb_alloc(struct cmsis_dap *dap, unsigned int pkt_sz)
 COMMAND_HANDLER(cmsis_dap_handle_usb_interface_command)
 {
        if (CMD_ARGC == 1)
-               cmsis_dap_usb_interface = strtoul(CMD_ARGV[0], NULL, 10);
+               COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], cmsis_dap_usb_interface);
        else
                LOG_ERROR("expected exactly one argument to cmsis_dap_usb_interface <interface_number>");