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

Alexandre Julliard julliard at winehq.org
Fri Nov 12 16:16:04 CST 2021


Module: wine
Branch: master
Commit: 57161ff6937e7ce738ce461032f894e9134a68af
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=57161ff6937e7ce738ce461032f894e9134a68af

Author: Ivo Ivanov <logos128 at gmail.com>
Date:   Fri Nov 12 09:49:47 2021 +0100

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 at gmail.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winebus.sys/bus_udev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c
index dad5344a54c..5ff1719848d 100644
--- a/dlls/winebus.sys/bus_udev.c
+++ b/dlls/winebus.sys/bus_udev.c
@@ -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))




More information about the wine-cvs mailing list