summaryrefslogtreecommitdiff
path: root/source/components/disassembler/dmopcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/disassembler/dmopcode.c')
-rw-r--r--source/components/disassembler/dmopcode.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/source/components/disassembler/dmopcode.c b/source/components/disassembler/dmopcode.c
index 8d9b532a795e..8e4a0d5f7113 100644
--- a/source/components/disassembler/dmopcode.c
+++ b/source/components/disassembler/dmopcode.c
@@ -528,25 +528,30 @@ AcpiDmFieldPredefinedDescription (
/* Major cheat: We previously put the Tag ptr in the Node field */
Tag = ACPI_CAST_PTR (char, IndexOp->Common.Node);
- if (!Tag)
+ if (!Tag || (*Tag == 0))
{
return;
}
- /* Match the name in the info table */
+ /* Is the tag a predefined name? */
Info = AcpiAhMatchPredefinedName (Tag);
- if (Info)
+ if (!Info)
{
- AcpiOsPrintf (" // %4.4s: %s", Tag,
- ACPI_CAST_PTR (char, Info->Description));
+ /* Not a predefined name (does not start with underscore) */
+
+ return;
}
- /* AML buffer (String) was allocated in AcpiGetTagPathname */
+ AcpiOsPrintf (" // %4.4s: %s", Tag,
+ ACPI_CAST_PTR (char, Info->Description));
- ACPI_FREE (IndexOp->Common.Value.String);
+ /* String contains the prefix path, free it */
+ ACPI_FREE (IndexOp->Common.Value.String);
+ IndexOp->Common.Value.String = NULL;
#endif
+
return;
}