Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d8841647 authored by Bob Moore's avatar Bob Moore Committed by Len Brown
Browse files

ACPICA: Add error checks to prevent faults



Added additional error checking to prevent run-time faults.

Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 98af37fb
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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;

+6 −0
Original line number Diff line number Diff line
@@ -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);
	}