Commit 8b97f992 authored by Misono Tomohiro's avatar Misono Tomohiro Committed by Guenter Roeck

hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()

Although it rarely happens, we should call free_capabilities()
if error happens after read_capabilities() to free allocated strings.

Fixes: de584afa ("hwmon driver for ACPI 4.0 power meters")
Signed-off-by: default avatarMisono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Link: https://lore.kernel.org/r/20200625043242.31175-1-misono.tomohiro@jp.fujitsu.comSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 016983d1
...@@ -883,7 +883,7 @@ static int acpi_power_meter_add(struct acpi_device *device) ...@@ -883,7 +883,7 @@ static int acpi_power_meter_add(struct acpi_device *device)
res = setup_attrs(resource); res = setup_attrs(resource);
if (res) if (res)
goto exit_free; goto exit_free_capability;
resource->hwmon_dev = hwmon_device_register(&device->dev); resource->hwmon_dev = hwmon_device_register(&device->dev);
if (IS_ERR(resource->hwmon_dev)) { if (IS_ERR(resource->hwmon_dev)) {
...@@ -896,6 +896,8 @@ static int acpi_power_meter_add(struct acpi_device *device) ...@@ -896,6 +896,8 @@ static int acpi_power_meter_add(struct acpi_device *device)
exit_remove: exit_remove:
remove_attrs(resource); remove_attrs(resource);
exit_free_capability:
free_capabilities(resource);
exit_free: exit_free:
kfree(resource); kfree(resource);
exit: exit:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment