Signed-off-by: Dean Nelson Reviewed-by: Al Stone --- source/common/dmtbdump2.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Index: acpica-unix2-20220331/source/common/dmtbdump2.c =================================================================== --- acpica-unix2-20220331.orig/source/common/dmtbdump2.c +++ acpica-unix2-20220331/source/common/dmtbdump2.c @@ -2415,13 +2415,14 @@ AcpiDmDumpPrmt ( ACPI_PRMT_MODULE_INFO *PrmtModuleInfo; ACPI_PRMT_HANDLER_INFO *PrmtHandlerInfo; ACPI_STATUS Status; + UINT32 TableLength = AcpiUtReadUint32 (&Table->Length); UINT32 i, j; /* Main table header */ PrmtHeader = ACPI_ADD_PTR (ACPI_TABLE_PRMT_HEADER, Table, CurrentOffset); - Status = AcpiDmDumpTable (Table->Length, CurrentOffset, PrmtHeader, + Status = AcpiDmDumpTable (TableLength, CurrentOffset, PrmtHeader, sizeof (ACPI_TABLE_PRMT_HEADER), AcpiDmTableInfoPrmtHdr); if (ACPI_FAILURE (Status)) { @@ -2433,20 +2434,20 @@ AcpiDmDumpPrmt ( /* PRM Module Information Structure array */ - for (i = 0; i < PrmtHeader->ModuleInfoCount; ++i) + for (i = 0; i < AcpiUtReadUint32 (&PrmtHeader->ModuleInfoCount); ++i) { PrmtModuleInfo = ACPI_ADD_PTR (ACPI_PRMT_MODULE_INFO, Table, CurrentOffset); - Status = AcpiDmDumpTable (Table->Length, CurrentOffset, PrmtModuleInfo, + Status = AcpiDmDumpTable (TableLength, CurrentOffset, PrmtModuleInfo, sizeof (ACPI_PRMT_MODULE_INFO), AcpiDmTableInfoPrmtModule); CurrentOffset += sizeof (ACPI_PRMT_MODULE_INFO); /* PRM handler information structure array */ - for (j = 0; j < PrmtModuleInfo->HandlerInfoCount; ++j) + for (j = 0; j < AcpiUtReadUint16 (&PrmtModuleInfo->HandlerInfoCount); ++j) { PrmtHandlerInfo = ACPI_ADD_PTR (ACPI_PRMT_HANDLER_INFO, Table, CurrentOffset); - Status = AcpiDmDumpTable (Table->Length, CurrentOffset, PrmtHandlerInfo, + Status = AcpiDmDumpTable (TableLength, CurrentOffset, PrmtHandlerInfo, sizeof (ACPI_PRMT_HANDLER_INFO), AcpiDmTableInfoPrmtHandler); CurrentOffset += sizeof (ACPI_PRMT_HANDLER_INFO);