forked from Minki/linux
ACPICA: Dispatcher: add status checks
ACPICA commit 3244c1eeba9f9fb9ccedb875f7923a3d85e0c6aa The status chekcs are used to to avoid NULL pointer dereference on field objects Link: https://github.com/acpica/acpica/commit/3244c1ee Reported-by: Kurt Kennett <kurt_kennett@hotmail.com> Signed-off-by: Erik Kaneda <erik.kaneda@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
034fdaa508
commit
6bfe5344b2
@ -517,13 +517,20 @@ acpi_ds_create_field(union acpi_parse_object *op,
|
|||||||
info.region_node = region_node;
|
info.region_node = region_node;
|
||||||
|
|
||||||
status = acpi_ds_get_field_names(&info, walk_state, arg->common.next);
|
status = acpi_ds_get_field_names(&info, walk_state, arg->common.next);
|
||||||
|
if (ACPI_FAILURE(status)) {
|
||||||
|
return_ACPI_STATUS(status);
|
||||||
|
}
|
||||||
|
|
||||||
if (info.region_node->object->region.space_id ==
|
if (info.region_node->object->region.space_id ==
|
||||||
ACPI_ADR_SPACE_PLATFORM_COMM
|
ACPI_ADR_SPACE_PLATFORM_COMM) {
|
||||||
&& !(region_node->object->field.internal_pcc_buffer =
|
region_node->object->field.internal_pcc_buffer =
|
||||||
ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
|
ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
|
||||||
length))) {
|
length);
|
||||||
|
if (!region_node->object->field.internal_pcc_buffer) {
|
||||||
return_ACPI_STATUS(AE_NO_MEMORY);
|
return_ACPI_STATUS(AE_NO_MEMORY);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return_ACPI_STATUS(status);
|
return_ACPI_STATUS(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user