Browse Source

HID: input: Fix NULL pointer dereference when power_supply_register fails

Do not call power_supply_powers() if power_supply_register() failed
earlier. This fixes possible NULL pointer dereference by
power_supply_powers() in such case.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Krzysztof Kozlowski 10 năm trước cách đây
mục cha
commit
fbea947c7d
1 tập tin đã thay đổi với 2 bổ sung2 xóa
  1. 2 2
      drivers/hid/hid-input.c

+ 2 - 2
drivers/hid/hid-input.c

@@ -452,10 +452,10 @@ static bool hidinput_setup_battery(struct hid_device *dev, unsigned report_type,
 		kfree(psy_desc->name);
 		kfree(psy_desc);
 		dev->battery = NULL;
+	} else {
+		power_supply_powers(dev->battery, &dev->dev);
 	}
 
-	power_supply_powers(dev->battery, &dev->dev);
-
 out:
 	return true;
 }