diff --git a/ChangeLog b/ChangeLog index 1ef4ff9e..0cba4da4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-04-18 Joerg Wunsch + + * usb_hidapi.c (usbhid_open): Correctly calculate the + offset for serial number matching + 2016-03-28 Joerg Wunsch bug #47550: Linux GPIO broken diff --git a/usb_hidapi.c b/usb_hidapi.c index 6af5dd53..81e9c4ab 100644 --- a/usb_hidapi.c +++ b/usb_hidapi.c @@ -108,7 +108,9 @@ static int usbhid_open(char * port, union pinfo pinfo, union filedescriptor *fd) { avrdude_message(MSG_NOTICE, "%s: usbhid_open(): Found %ls, serno: %ls\n", progname, walk->product_string, walk->serial_number); - if (wcscmp(walk->serial_number + serlen, wserno) == 0) + size_t slen = wcslen(walk->serial_number); + if (slen >= serlen && + wcscmp(walk->serial_number + slen - serlen, wserno) == 0) { /* found matching serial number */ break;