Rémi Bernon (@rbernon) commented about dlls/winebus.sys/bus_udev.c:
TRACE("udev device %s does not have devnode, ignoring\n", syspath);
goto out;
- }
- if (strcmp(action, "remove")) udev_add_device(dev, -1); else {
impl = find_device_from_devnode(udev_device_get_devnode(dev));
}impl = find_device_from_devnode(devnode); if (impl) bus_event_queue_device_removed(&event_queue, &impl->unix_device); else WARN("failed to find device for udev device %p\n", dev);
+out: udev_device_unref(dev);
```suggestion:-31+0 if (!syspath) WARN("udev device %p does not have syspath!\n", dev); else if (!action) WARN("event for udev device %s does not have any action!\n", syspath); else if (!devnode) { /* Pretty normal case, not all devices have associated * devnodes. For example root input devices do not, but * related/child mouse and event devices do. */ TRACE("udev device %s does not have devnode, ignoring\n", syspath); } else if (strcmp(action, "remove")) udev_add_device(dev, -1); else { impl = find_device_from_devnode(devnode); if (impl) bus_event_queue_device_removed(&event_queue, &impl->unix_device); else WARN("failed to find device for udev device %p\n", dev); }
udev_device_unref(dev); ```