thermal/core: Fix memory leak in the error path
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 19 Mar 2021 20:22:57 +0000 (21:22 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 15 Apr 2021 11:21:00 +0000 (13:21 +0200)
Fix the following error:

 smatch warnings:
 drivers/thermal/thermal_core.c:1020 __thermal_cooling_device_register() warn: possible memory leak of 'cdev'

by freeing the cdev when exiting the function in the error path.

Fixes: 584837618100 ("thermal/drivers/core: Use a char pointer for the cooling device name")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210319202257.890848-1-daniel.lezcano@linaro.org
drivers/thermal/thermal_core.c

index c8d4010..3566fd2 100644 (file)
@@ -1017,6 +1017,7 @@ out_kfree_type:
 out_ida_remove:
        ida_simple_remove(&thermal_cdev_ida, cdev->id);
 out_kfree_cdev:
+       kfree(cdev);
        return ERR_PTR(ret);
 }