winebus.sys: Accept whitespaces in strings parsed from uevent.

Fixes the device names appearing with the first words in joy.cpl
and probably in games, when the UDEV bus is used in HIDRAW mode.

Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ivo Ivanov 2021-11-12 09:49:47 +01:00 committed by Alexandre Julliard
parent 16bc6b053d
commit 57161ff693

View file

@ -1121,13 +1121,13 @@ static void get_device_subsystem_info(struct udev_device *dev, char const *subsy
if (!strncmp(ptr, "HID_UNIQ=", 9))
{
if (desc->serialnumber[0]) continue;
if (sscanf(ptr, "HID_UNIQ=%256s\n", buffer) == 1)
if (sscanf(ptr, "HID_UNIQ=%256[^\n]", buffer) == 1)
ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->serialnumber, ARRAY_SIZE(desc->serialnumber));
}
if (!strncmp(ptr, "HID_NAME=", 9))
{
if (desc->product[0]) continue;
if (sscanf(ptr, "HID_NAME=%256s\n", buffer) == 1)
if (sscanf(ptr, "HID_NAME=%256[^\n]", buffer) == 1)
ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->product, ARRAY_SIZE(desc->product));
}
if (!strncmp(ptr, "HID_PHYS=", 9) || !strncmp(ptr, "PHYS=\"", 6))