Skip to content

Commit 6bfe534

Browse files
Erik Kanedarafaeljw
authored andcommitted
ACPICA: Dispatcher: add status checks
ACPICA commit 3244c1eeba9f9fb9ccedb875f7923a3d85e0c6aa The status chekcs are used to to avoid NULL pointer dereference on field objects Link: acpica/acpica@3244c1ee Reported-by: Kurt Kennett <[email protected]> Signed-off-by: Erik Kaneda <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 034fdaa commit 6bfe534

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

drivers/acpi/acpica/dsfield.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -517,13 +517,20 @@ acpi_ds_create_field(union acpi_parse_object *op,
517517
info.region_node = region_node;
518518

519519
status = acpi_ds_get_field_names(&info, walk_state, arg->common.next);
520+
if (ACPI_FAILURE(status)) {
521+
return_ACPI_STATUS(status);
522+
}
523+
520524
if (info.region_node->object->region.space_id ==
521-
ACPI_ADR_SPACE_PLATFORM_COMM
522-
&& !(region_node->object->field.internal_pcc_buffer =
523-
ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
524-
length))) {
525-
return_ACPI_STATUS(AE_NO_MEMORY);
525+
ACPI_ADR_SPACE_PLATFORM_COMM) {
526+
region_node->object->field.internal_pcc_buffer =
527+
ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
528+
length);
529+
if (!region_node->object->field.internal_pcc_buffer) {
530+
return_ACPI_STATUS(AE_NO_MEMORY);
531+
}
526532
}
533+
527534
return_ACPI_STATUS(status);
528535
}
529536

0 commit comments

Comments
 (0)