VirtualBox

Changeset 108117 in vbox for trunk


Ignore:
Timestamp:
Feb 7, 2025 3:15:12 PM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167415
Message:

Runtime/RTAcpi*: Fix overwriting the argument count with the sync level when parsing ASL and fix decoding empty tables, bugref:10733 [fix messed up indenting]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/acpi/acpi-decompiler.cpp

    r108114 r108117  
    16531653                        if (RT_SUCCESS(rc))
    16541654                        {
    1655 
    1656                                 RTACPITBLAMLDECODE AmlDecode;
    1657                                 AmlDecode.pbTbl        = pbTbl;
    1658                                 AmlDecode.cbTbl        = cbTbl;
    1659                                 AmlDecode.offTbl       = 0;
    1660                                 AmlDecode.iLvl         = 0;
    1661                                 AmlDecode.cPkgStackMax = 0;
    1662                                 AmlDecode.pacbPkgLeft  = NULL;
    1663                                 AmlDecode.fIndent      = true;
    1664                                 RTListInit(&AmlDecode.LstObjs);
    1665                                 rc = rtAcpiTblAmlDecodePkgPush(&AmlDecode, hVfsIosOut, AmlDecode.cbTbl, pErrInfo);
    1666                                 while (   RT_SUCCESS(rc)
    1667                                        && AmlDecode.offTbl < cbTbl)
    1668                                 {
    1669                                     rc = rtAcpiTblAmlDecodeTerminal(&AmlDecode, hVfsIosOut, pErrInfo);
    1670                                     if (RT_SUCCESS(rc))
    1671                                         rc = rtAcpiTblAmlDecodePkgPop(&AmlDecode, hVfsIosOut, pErrInfo);
    1672                                 }
    1673                                 if (AmlDecode.pacbPkgLeft)
    1674                                     RTMemFree(AmlDecode.pacbPkgLeft);
    1675 
    1676                                 PRTACPITBLAMLOBJ pIt, pItNext;
    1677                                 RTListForEachSafe(&AmlDecode.LstObjs, pIt, pItNext, RTACPITBLAMLOBJ, NdObjs)
    1678                                 {
    1679                                     RTListNodeRemove(&pIt->NdObjs);
    1680                                     RTMemFree(pIt);
    1681                                 }
     1655                            RTACPITBLAMLDECODE AmlDecode;
     1656                            AmlDecode.pbTbl        = pbTbl;
     1657                            AmlDecode.cbTbl        = cbTbl;
     1658                            AmlDecode.offTbl       = 0;
     1659                            AmlDecode.iLvl         = 0;
     1660                            AmlDecode.cPkgStackMax = 0;
     1661                            AmlDecode.pacbPkgLeft  = NULL;
     1662                            AmlDecode.fIndent      = true;
     1663                            RTListInit(&AmlDecode.LstObjs);
     1664                            rc = rtAcpiTblAmlDecodePkgPush(&AmlDecode, hVfsIosOut, AmlDecode.cbTbl, pErrInfo);
     1665                            while (   RT_SUCCESS(rc)
     1666                                   && AmlDecode.offTbl < cbTbl)
     1667                            {
     1668                                rc = rtAcpiTblAmlDecodeTerminal(&AmlDecode, hVfsIosOut, pErrInfo);
     1669                                if (RT_SUCCESS(rc))
     1670                                    rc = rtAcpiTblAmlDecodePkgPop(&AmlDecode, hVfsIosOut, pErrInfo);
     1671                            }
     1672                            if (AmlDecode.pacbPkgLeft)
     1673                                RTMemFree(AmlDecode.pacbPkgLeft);
     1674
     1675                            PRTACPITBLAMLOBJ pIt, pItNext;
     1676                            RTListForEachSafe(&AmlDecode.LstObjs, pIt, pItNext, RTACPITBLAMLOBJ, NdObjs)
     1677                            {
     1678                                RTListNodeRemove(&pIt->NdObjs);
     1679                                RTMemFree(pIt);
     1680                            }
    16821681                        }
    16831682                        else
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette