diff options
Diffstat (limited to 'source/common/adwalk.c')
| -rw-r--r-- | source/common/adwalk.c | 21 | 
1 files changed, 15 insertions, 6 deletions
| diff --git a/source/common/adwalk.c b/source/common/adwalk.c index d9bd4d9e9a7a..6da2e8ec944d 100644 --- a/source/common/adwalk.c +++ b/source/common/adwalk.c @@ -480,6 +480,7 @@ AcpiDmDumpDescending (  {      ACPI_OP_WALK_INFO       *Info = Context;      char                    *Path; +    ACPI_STATUS             Status;      if (!Op) @@ -522,10 +523,18 @@ AcpiDmDumpDescending (          if (Op->Common.Value.String)          { -            AcpiNsExternalizeName (ACPI_UINT32_MAX, Op->Common.Value.String, +            Status = AcpiNsExternalizeName (ACPI_UINT32_MAX, Op->Common.Value.String,                  NULL, &Path); -            AcpiOsPrintf ("%s %p", Path, Op->Common.Node); -            ACPI_FREE (Path); +            if (ACPI_SUCCESS (Status)) +            { +                AcpiOsPrintf ("%s %p", Path, Op->Common.Node); +                ACPI_FREE (Path); +            } +            else +            { +                AcpiOsPrintf ("Could not externalize pathname for node [%4.4s]", +                    Op->Common.Node->Name.Ascii); +            }          }          else          { @@ -830,9 +839,9 @@ AcpiDmLoadDescendingOp (           * 2) Not the root node           * 3) Not a node created by Scope           */ - -        if (!PreDefined && Node != AcpiGbl_RootNode && -            Op->Common.AmlOpcode != AML_SCOPE_OP) +        if (!PreDefined && +            (Node != AcpiGbl_RootNode) && +            (Op->Common.AmlOpcode != AML_SCOPE_OP))          {              Node->OwnerId = WalkState->OwnerId;          } | 
