thermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal()
exynos_unregister_thermal() is functional only when 'th_zone' is not NULL (ensured by the NULL checks). However, in the event it is NULL, it gets dereferenced in the for loop. This patch fixes this issue. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
This commit is contained in:
parent
a4b6fec977
commit
c072fed95c
|
@ -475,11 +475,14 @@ static void exynos_unregister_thermal(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (th_zone && th_zone->therm_dev)
|
if (!th_zone)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (th_zone->therm_dev)
|
||||||
thermal_zone_device_unregister(th_zone->therm_dev);
|
thermal_zone_device_unregister(th_zone->therm_dev);
|
||||||
|
|
||||||
for (i = 0; i < th_zone->cool_dev_size; i++) {
|
for (i = 0; i < th_zone->cool_dev_size; i++) {
|
||||||
if (th_zone && th_zone->cool_dev[i])
|
if (th_zone->cool_dev[i])
|
||||||
cpufreq_cooling_unregister(th_zone->cool_dev[i]);
|
cpufreq_cooling_unregister(th_zone->cool_dev[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue