ACK: [PATCH] acpi: fan: fix potential null pointer dereference issue
Alex Hung
alex.hung at canonical.com
Thu Apr 26 18:37:02 UTC 2018
On 2018-04-26 01:26 AM, Colin King wrote:
> 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);
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list