backlight: do not unref parent device

Fixes double-free introduced by 9aadd28149.
This commit is contained in:
Yu Watanabe 2018-09-06 11:58:29 +09:00 committed by Zbigniew Jędrzejewski-Szmek
parent 3f9233e401
commit e8596ca5c4
1 changed files with 4 additions and 5 deletions

View File

@ -61,12 +61,12 @@ static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) {
/* Graphics card */
if (class == 0x30000) {
*ret = TAKE_PTR(parent);
*ret = parent;
return 0;
}
} else if (streq(subsystem, "platform")) {
*ret = TAKE_PTR(parent);
*ret = parent;
return 0;
}
@ -104,9 +104,8 @@ static int same_device(sd_device *a, sd_device *b) {
static int validate_device(sd_device *device) {
_cleanup_(sd_device_enumerator_unrefp) sd_device_enumerator *enumerate = NULL;
_cleanup_(sd_device_unrefp) sd_device *parent = NULL;
const char *v, *subsystem;
sd_device *other;
sd_device *parent, *other;
int r;
assert(device);
@ -162,8 +161,8 @@ static int validate_device(sd_device *device) {
return r;
FOREACH_DEVICE_AND_SUBSYSTEM(enumerate, other) {
_cleanup_(sd_device_unrefp) sd_device *other_parent = NULL;
const char *other_subsystem;
sd_device *other_parent;
if (same_device(device, other) > 0)
continue;