summaryrefslogtreecommitdiff
path: root/source/components/executer
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/executer')
-rw-r--r--source/components/executer/exconfig.c9
-rw-r--r--source/components/executer/exdump.c2
-rw-r--r--source/components/executer/exresnte.c2
-rw-r--r--source/components/executer/exresolv.c14
4 files changed, 13 insertions, 14 deletions
diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c
index 85389dde258b..361367d67914 100644
--- a/source/components/executer/exconfig.c
+++ b/source/components/executer/exconfig.c
@@ -178,15 +178,6 @@ AcpiExLoadTableOp (
ACPI_FUNCTION_TRACE (ExLoadTableOp);
- /* Validate lengths for the Signature, OemId, and OemTableId strings */
-
- if ((Operand[0]->String.Length > ACPI_NAME_SIZE) ||
- (Operand[1]->String.Length > ACPI_OEM_ID_SIZE) ||
- (Operand[2]->String.Length > ACPI_OEM_TABLE_ID_SIZE))
- {
- return_ACPI_STATUS (AE_AML_STRING_LIMIT);
- }
-
/* Find the ACPI table in the RSDT/XSDT */
Status = AcpiTbFindTable (
diff --git a/source/components/executer/exdump.c b/source/components/executer/exdump.c
index 3142e62c088b..f64c6ff42612 100644
--- a/source/components/executer/exdump.c
+++ b/source/components/executer/exdump.c
@@ -1040,7 +1040,7 @@ AcpiExDumpReferenceObj (
AcpiOsPrintf (" %p ", ObjDesc->Reference.Node);
Status = AcpiNsHandleToPathname (ObjDesc->Reference.Node,
- &RetBuf, FALSE);
+ &RetBuf, TRUE);
if (ACPI_FAILURE (Status))
{
AcpiOsPrintf (" Could not convert name to pathname\n");
diff --git a/source/components/executer/exresnte.c b/source/components/executer/exresnte.c
index 63b37b012bb6..0aa52629e85e 100644
--- a/source/components/executer/exresnte.c
+++ b/source/components/executer/exresnte.c
@@ -134,7 +134,7 @@ AcpiExResolveNodeToValue (
{
ACPI_ERROR ((AE_INFO, "No object attached to node [%4.4s] %p",
Node->Name.Ascii, Node));
- return_ACPI_STATUS (AE_AML_NO_OPERAND);
+ return_ACPI_STATUS (AE_AML_UNINITIALIZED_NODE);
}
/*
diff --git a/source/components/executer/exresolv.c b/source/components/executer/exresolv.c
index f97263c33f6c..868c90d07e5c 100644
--- a/source/components/executer/exresolv.c
+++ b/source/components/executer/exresolv.c
@@ -351,8 +351,8 @@ AcpiExResolveMultiple (
ACPI_OBJECT_TYPE *ReturnType,
ACPI_OPERAND_OBJECT **ReturnDesc)
{
- ACPI_OPERAND_OBJECT *ObjDesc = (void *) Operand;
- ACPI_NAMESPACE_NODE *Node;
+ ACPI_OPERAND_OBJECT *ObjDesc = ACPI_CAST_PTR (void, Operand);
+ ACPI_NAMESPACE_NODE *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, Operand);
ACPI_OBJECT_TYPE Type;
ACPI_STATUS Status;
@@ -372,7 +372,7 @@ AcpiExResolveMultiple (
case ACPI_DESC_TYPE_NAMED:
Type = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type;
- ObjDesc = AcpiNsGetAttachedObject ((ACPI_NAMESPACE_NODE *) ObjDesc);
+ ObjDesc = AcpiNsGetAttachedObject (Node);
/* If we had an Alias node, use the attached object for type info */
@@ -381,6 +381,14 @@ AcpiExResolveMultiple (
Type = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type;
ObjDesc = AcpiNsGetAttachedObject ((ACPI_NAMESPACE_NODE *) ObjDesc);
}
+
+ if (!ObjDesc)
+ {
+ ACPI_ERROR ((AE_INFO,
+ "[%4.4s] Node is unresolved or uninitialized",
+ AcpiUtGetNodeName (Node)));
+ return_ACPI_STATUS (AE_AML_UNINITIALIZED_NODE);
+ }
break;
default: