<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">On 04/26/2018 04:26 PM, Colin King
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20180426082639.25299-1-colin.king@canonical.com">
<pre wrap="">From: Colin Ian King <a class="moz-txt-link-rfc2396E" href="mailto:colin.king@canonical.com"><colin.king@canonical.com></a>
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 <a class="moz-txt-link-rfc2396E" href="mailto:colin.king@canonical.com"><colin.king@canonical.com></a>
---
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);
</pre>
</blockquote>
<br>
Acked-by: Ivan Hu <a class="moz-txt-link-rfc2396E"
href="mailto:ivan.hu@canonical.com"><ivan.hu@canonical.com></a>
</body>
</html>