summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2009-12-03 10:16:49 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2009-12-03 10:16:49 +0100
commit22f9cb51c39a6fef1109bfd24e97d2fdda327a9e (patch)
tree98ecba653a63ac6daa844b2f31f608d602b256ff /extras
parent2ad6af0fc0c3e44da40274ecda1e707494b922e3 (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')
-rw-r--r--extras/input_id/input_id.c2
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