Merge pull request #1815 from stefanrueger/usbhidopen-sn-sigfault

Guard serial_number access in usbhid_open() to avoid segfault
This commit is contained in:
Stefan Rueger
2024-06-01 07:55:30 +00:00
committed by GitHub

View File

@@ -97,14 +97,14 @@ static int usbhid_open(const char *port, union pinfo pinfo, union filedescriptor
walk = list;
while (walk) {
pmsg_notice("usbhid_open(): found %ls, serno: %ls\n", walk->product_string, walk->serial_number);
size_t slen = wcslen(walk->serial_number);
if (slen >= serlen && wcscmp(walk->serial_number + slen - serlen, wserno) == 0)
{
/* Found matching serial number */
break;
if(walk->serial_number) {
pmsg_notice("usbhid_open(): found %ls, serno: %ls\n", walk->product_string, walk->serial_number);
size_t slen = wcslen(walk->serial_number);
// Found matching serial number?
if (slen >= serlen && wcscmp(walk->serial_number + slen - serlen, wserno) == 0)
break;
pmsg_debug("usbhid_open(): serial number does not match\n");
}
pmsg_debug("usbhid_open(): serial number does not match\n");
walk = walk->next;
}
if (walk == NULL) {