Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0c29583 authored by Colin Ian King's avatar Colin Ian King Committed by Rafael J. Wysocki
Browse files

ACPI / fan: avoid null pointer deference error



Fix a null pointer deference by acpi_driver_data() if device is
null.  We should only set cdev and check this is OK after we are
sure device is not null.

Smatch analysis:

drivers/acpi/fan.c:179 acpi_fan_remove() warn: variable dereferenced
  before check 'device' (see line 177)

Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 994fa63c
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -174,9 +174,13 @@ static int acpi_fan_add(struct acpi_device *device)

static int acpi_fan_remove(struct acpi_device *device)
{
	struct thermal_cooling_device *cdev = acpi_driver_data(device);
	struct thermal_cooling_device *cdev;

	if (!device)
		return -EINVAL;

	if (!device || !cdev)
	cdev =  acpi_driver_data(device);
	if (!cdev)
		return -EINVAL;

	sysfs_remove_link(&device->dev.kobj, "thermal_cooling");