aboutsummaryrefslogtreecommitdiff
path: root/source/components/utilities/utresrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/utilities/utresrc.c')
-rw-r--r--source/components/utilities/utresrc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/components/utilities/utresrc.c b/source/components/utilities/utresrc.c
index ed78a8489292..f3cd77cea578 100644
--- a/source/components/utilities/utresrc.c
+++ b/source/components/utilities/utresrc.c
@@ -526,6 +526,16 @@ AcpiUtWalkAmlResources (
return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
}
+ /*
+ * The EndTag opcode must be followed by a zero byte.
+ * Although this byte is technically defined to be a checksum,
+ * in practice, all ASL compilers set this byte to zero.
+ */
+ if (*(Aml + 1) != 0)
+ {
+ return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
+ }
+
/* Return the pointer to the EndTag if requested */
if (!UserFunction)