This is an automated email from Gerrit. Krzysztof Hockuba (krzysz...@hockuba.eu) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/6048
-- gerrit commit 032225df6a04c88a29171b01809fca9308d934fb Author: Krzysztof Hockuba <krzysztof.hock...@itpartners.com.pl> Date: Wed Feb 3 23:01:29 2021 +0100 Fix jtag_usb_location_equal for path members > 9 In case an USB location path contains path members larger than 9. The string_length variable is regardless decremented by 2 with assumption that the member is one digit length. For exmaple 1-12.2 will fail. This patch uses strlen to calculate digits in a path member. Change-Id: I9c26a04d0c6af13fec65157f222599497294e2b2 Signed-off-by: Krzysztof Hockuba <krzysz...@hockuba.eu> diff --git a/src/jtag/drivers/jtag_usb_common.c b/src/jtag/drivers/jtag_usb_common.c index 969ea84..309f8c4 100644 --- a/src/jtag/drivers/jtag_usb_common.c +++ b/src/jtag/drivers/jtag_usb_common.c @@ -50,7 +50,7 @@ bool jtag_usb_location_equal(uint8_t dev_bus, uint8_t *port_path, goto done; } - string_length -= 1; + string_length -= strnlen(ptr, string_length); /* check bus mismatch */ if (atoi(ptr) != dev_bus) goto done; @@ -68,7 +68,7 @@ bool jtag_usb_location_equal(uint8_t dev_bus, uint8_t *port_path, break; path_step++; - string_length -= 2; + string_length -= strnlen(ptr, string_length) + 1; }; /* walked the full path, all elements match */ -- _______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel