The address of an array slot can't be NULL. Instead add a bounds check
to make sure the array indexing is valid (the check is against 2 since
slot zero of the array - corresponding to C0 - is of no interest here).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
struct acpi_processor_power *power;
struct acpi_processor_cx *cx;
- if ( (power = processor_powers[smp_processor_id()]) == NULL )
+ if ( (power = processor_powers[smp_processor_id()]) == NULL ||
+ power->count < 2 )
goto default_halt;
- if ( (cx = &power->states[power->count-1]) == NULL )
- goto default_halt;
+ cx = &power->states[power->count - 1];
if ( cx->entry_method == ACPI_CSTATE_EM_FFH )
{