summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schroeder <mls@novell.com>2010-08-23 16:13:13 +0200
committerDanny Kukawka <danny.kukawka@web.de>2010-08-23 16:13:13 +0200
commitfc9571c07a81aba8a8fdaa8014d4034b6456d203 (patch)
treefa0a3d0c1474596f63232f0f782cef513c85f8d6
parent6f16321da13f6a7cbd9c424ddba2e727e434fa25 (diff)
fix hal segfault
Fixed hal segfault. It crashes because strlen() gets called with a NULL pointer (ppdev_compute_udi calls hal_util_get_last_element with a NULL pointer). bnc#556485
-rw-r--r--hald/linux/device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hald/linux/device.c b/hald/linux/device.c
index 8570d461..401dc44f 100644
--- a/hald/linux/device.c
+++ b/hald/linux/device.c
@@ -2287,9 +2287,10 @@ ppdev_compute_udi (HalDevice *d)
gchar udi[256];
const char *name;
- name = hal_util_get_last_element( hal_device_property_get_string(d, "linux.device_file"));
+ name = hal_device_property_get_string (d, "linux.device_file");
if (name) {
+ name = hal_util_get_last_element (name);
hald_compute_udi (udi, sizeof (udi), "/org/freedesktop/Hal/devices/ppdev_%s", name);
} else {
hald_compute_udi (udi, sizeof (udi), "/org/freedesktop/Hal/devices/ppdev");