[PATCH] acpi: fan: fix potential null pointer dereference issue
Colin King
colin.king at canonical.com
Thu Apr 26 08:26:39 UTC 2018
From: Colin Ian King <colin.king at canonical.com>
Check for non-null info->type before dereferencing it with a strcmp.
Detected by CoverityScan, CID#1390651 ("Null pointer dereferences")
Fixes: 0eb85f83c260 ("fan: cur_state == -1 is valid for intel_powerclamp")
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/acpi/fan/fan.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/acpi/fan/fan.c b/src/acpi/fan/fan.c
index 298d3a13..edd947e8 100644
--- a/src/acpi/fan/fan.c
+++ b/src/acpi/fan/fan.c
@@ -154,16 +154,19 @@ static int fan_test1(fwts_framework *fw)
fwts_failed(fw, LOG_LEVEL_MEDIUM, "NoFanMaxState",
"Fan %s present but has no max_state present.",
info->name);
- if (info->cur_state == -1 && strcmp(info->type, "intel_powerclamp"))
- fwts_failed(fw, LOG_LEVEL_MEDIUM, "NoFanCurState",
- "Fan %s present but has no cur_state present.",
- info->name);
-
- if (info->type &&
- (info->max_state >= 0) && (info->cur_state >= 0))
- fwts_passed(fw, "Fan %s of type %s has max cooling state %d "
- "and current cooling state %d.",
- info->name, info->type, info->max_state, info->cur_state);
+ if (info->type) {
+ if ((info->cur_state == -1) &&
+ strcmp(info->type, "intel_powerclamp"))
+ fwts_failed(fw, LOG_LEVEL_MEDIUM, "NoFanCurState",
+ "Fan %s present but has no cur_state present.",
+ info->name);
+
+ if ((info->max_state >= 0) && (info->cur_state >= 0))
+ fwts_passed(fw, "Fan %s of type %s has max cooling "
+ "state %d and current cooling state %d.",
+ info->name, info->type, info->max_state,
+ info->cur_state);
+ }
}
fwts_list_free(fans, free_fan_info);
--
2.17.0
More information about the fwts-devel
mailing list