aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranpilog <anpilog@gmail.com>2016-01-29 17:20:20 +0800
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2016-02-13 23:27:09 +0000
commit8cf5e04c73bf2d20d8efa7131666ed3a370402aa (patch)
tree04a76b02a74d1a94aa52e3c5e075a87c60315b45
parentcf88f4e2836bc5bfc0abd152cde100a092fc8069 (diff)
cmsis-dap: Fix CMSIS-DAP serial number processing.
Check CMSIS-DAP adapter has serialnumber before pass it to wcscmp. Keep looking for onother adapter if choosed one doesn't have correct serialnumber. Change-Id: I7d386a03cb49b9baf22073ae1c6b14269ed3b618 Signed-off-by: Andrii Anpilogov <anpilog@gmail.com> Reviewed-on: http://openocd.zylin.com/3226 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r--src/jtag/drivers/cmsis_dap_usb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jtag/drivers/cmsis_dap_usb.c b/src/jtag/drivers/cmsis_dap_usb.c
index ff8b8ffa..889c14ca 100644
--- a/src/jtag/drivers/cmsis_dap_usb.c
+++ b/src/jtag/drivers/cmsis_dap_usb.c
@@ -214,12 +214,14 @@ static int cmsis_dap_usb_open(void)
/* we have found an adapter, so exit further checks */
/* check serial number matches if given */
if (cmsis_dap_serial != NULL) {
- if (wcscmp(cmsis_dap_serial, cur_dev->serial_number) == 0) {
+ if ((cur_dev->serial_number != NULL) && wcscmp(cmsis_dap_serial, cur_dev->serial_number) == 0) {
serial_found = true;
break;
}
} else
break;
+
+ found = false;
}
cur_dev = cur_dev->next;