diff options
author | Martin Pitt <martinpitt@gnome.org> | 2012-06-14 13:12:04 +0200 |
---|---|---|
committer | Martin Pitt <martinpitt@gnome.org> | 2012-06-14 13:18:10 +0200 |
commit | 48edf2f1a8df125794a452034ccf9b48d9c8eead (patch) | |
tree | 489803f8f0ece8e334561b01c145d1cba2197f20 /src | |
parent | 55569ac40f1756b879a5ee676925be7bbd985588 (diff) |
Fix wrong PowerSupply property for devices without a scope sysfs attribute
Fix NULL pointer comparison in up_device_supply_coldplug(). This caused
(lt-upowerd:5754): GLib-CRITICAL **: g_ascii_strcasecmp: assertion `s1 != NULL' failed
when a device does not have a "scope" sysfs attribute, and erroneously
considering that device to not power the system.
https://launchpad.net/bugs/1012578
Diffstat (limited to 'src')
-rw-r--r-- | src/linux/up-device-supply.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c index 48f5156..ec2514a 100644 --- a/src/linux/up-device-supply.c +++ b/src/linux/up-device-supply.c @@ -863,9 +863,9 @@ up_device_supply_coldplug (UpDevice *device) /* try to work out if the device is powering the system */ scope = g_udev_device_get_sysfs_attr (native, "scope"); - if (g_ascii_strcasecmp (scope, "device") == 0) { + if (scope != NULL && g_ascii_strcasecmp (scope, "device") == 0) { supply->priv->is_power_supply = FALSE; - } else if (g_ascii_strcasecmp (scope, "system") == 0) { + } else if (scope != NULL && g_ascii_strcasecmp (scope, "system") == 0) { supply->priv->is_power_supply = TRUE; } else { g_debug ("taking a guess for power supply scope"); |