diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2009-12-03 10:16:49 +0100 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2009-12-03 10:16:49 +0100 |
commit | 22f9cb51c39a6fef1109bfd24e97d2fdda327a9e (patch) | |
tree | 98ecba653a63ac6daa844b2f31f608d602b256ff /extras/input_id | |
parent | 2ad6af0fc0c3e44da40274ecda1e707494b922e3 (diff) |
input_id: Fix endless loop for non-input devices
When being called on a device which is not in the "input" subsystem, or doesn't
have an "input" parent, it got stuck in an endless loop. Unfortunately this
includes the virtual/input/mice multiplexer, which exposes this bug on just
about every system.
Diffstat (limited to 'extras/input_id')
-rw-r--r-- | extras/input_id/input_id.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/extras/input_id/input_id.c b/extras/input_id/input_id.c index 3754cdefee..fededa3f7d 100644 --- a/extras/input_id/input_id.c +++ b/extras/input_id/input_id.c @@ -143,7 +143,7 @@ int main (int argc, char** argv) /* walk up the parental chain until we find the real input device; the * argument is very likely a subdevice of this, like eventN */ - while (udev_device_get_sysattr_value(dev, "capabilities/key") == NULL) + while (dev != NULL && udev_device_get_sysattr_value(dev, "capabilities/key") == NULL) dev = udev_device_get_parent(dev); /* Use this as a flag that input devices were detected, so that this |