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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:21:30 +0000 (10:21 +0200)
commit d44616c6cc3e35eea03ecfe9040edfa2b486a059 upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thermal/thermal_core.c

index c0d8c882b247947040cade96e7e02f5eed9e62fd..dd449945e1e5e2f265b0819cbe8ca856f5b6717e 100644 (file)
@@ -1152,6 +1152,7 @@ out_kfree_type:
 out_ida_remove:
        ida_simple_remove(&thermal_cdev_ida, id);
 out_kfree_cdev:
+       kfree(cdev);
        return ERR_PTR(ret);
 }