ACPICA: Add error checks to prevent faults
Added additional error checking to prevent run-time faults. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
98af37fba9
commit
d8841647de
2 changed files with 16 additions and 2 deletions
|
@ -209,8 +209,16 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
|
|||
object, level + 4, 0);
|
||||
}
|
||||
} else if (source_desc->reference.node) {
|
||||
acpi_ex_do_debug_object((source_desc->reference.node)->
|
||||
object, level + 4, 0);
|
||||
if (ACPI_GET_DESCRIPTOR_TYPE
|
||||
(source_desc->reference.node) !=
|
||||
ACPI_DESC_TYPE_NAMED) {
|
||||
ACPI_DEBUG_PRINT_RAW((ACPI_DB_DEBUG_OBJECT,
|
||||
" %p - Not a valid namespace node\n"));
|
||||
} else {
|
||||
acpi_ex_do_debug_object((source_desc->reference.
|
||||
node)->object,
|
||||
level + 4, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -180,6 +180,12 @@ acpi_size acpi_ns_get_pathname_length(struct acpi_namespace_node *node)
|
|||
next_node = node;
|
||||
|
||||
while (next_node && (next_node != acpi_gbl_root_node)) {
|
||||
if (ACPI_GET_DESCRIPTOR_TYPE(next_node) != ACPI_DESC_TYPE_NAMED) {
|
||||
ACPI_ERROR((AE_INFO,
|
||||
"Invalid NS Node (%X) while traversing path",
|
||||
next_node));
|
||||
return 0;
|
||||
}
|
||||
size += ACPI_PATH_SEGMENT_LENGTH;
|
||||
next_node = acpi_ns_get_parent_node(next_node);
|
||||
}
|
||||
|
|
Reference in a new issue