From 9dc82e99776b18fe19314695d7d83e79c7fea934 Mon Sep 17 00:00:00 2001 From: Al Stone Date: Tue, 27 Oct 2020 17:50:52 -0600 Subject: [PATCH] Correct an endian-ness problem when converting ASL to ASL+ Signed-off-by: Al Stone --- source/compiler/cvparser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/compiler/cvparser.c b/source/compiler/cvparser.c index 370b80361..7311e031a 100644 --- a/source/compiler/cvparser.c +++ b/source/compiler/cvparser.c @@ -144,6 +144,7 @@ CvInitFileTree ( char *ChildFilename = NULL; UINT8 *AmlStart; UINT32 AmlLength; + UINT32 TableLength = AcpiUtReadUint32(&Table->Length); if (!AcpiGbl_CaptureComments) @@ -152,7 +153,7 @@ CvInitFileTree ( } - AmlLength = Table->Length - sizeof (ACPI_TABLE_HEADER); + AmlLength = TableLength - sizeof (ACPI_TABLE_HEADER); AmlStart = ((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER)); CvDbgPrint ("AmlLength: %x\n", AmlLength); @@ -162,7 +163,7 @@ CvInitFileTree ( AcpiGbl_FileTreeRoot = AcpiOsAcquireObject (AcpiGbl_FileCache); AcpiGbl_FileTreeRoot->FileStart = (char *)(AmlStart); - AcpiGbl_FileTreeRoot->FileEnd = (char *)(AmlStart + Table->Length); + AcpiGbl_FileTreeRoot->FileEnd = (char *)(AmlStart + TableLength); AcpiGbl_FileTreeRoot->Next = NULL; AcpiGbl_FileTreeRoot->Parent = NULL; AcpiGbl_FileTreeRoot->Filename = (char *)(AmlStart+2); -- 2.26.2