VirtualBox

Changeset 83298 in vbox


Ignore:
Timestamp:
Mar 16, 2020 1:10:10 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136465
Message:

Audio/HDA: Added some more stream ID checks.

Location:
trunk/src/VBox/Devices/Audio
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DevHDA.cpp

    r82968 r83298  
    38843884        rc = pHlp->pfnSSMGetU8(pSSM, &idStream);
    38853885        AssertRCReturn(rc, rc);
     3886
     3887        /* Paranoia. */
     3888        AssertLogRelMsgReturn(idStream < HDA_MAX_STREAMS,
     3889                              ("HDA: Saved state contains bogus stream ID %RU8 for stream #%RU8", idStream, i),
     3890                              VERR_SSM_INVALID_STATE);
    38863891
    38873892        HDASTREAM    StreamDummyShared;
  • trunk/src/VBox/Devices/Audio/HDAStream.cpp

    r82968 r83298  
    231231int hdaR3StreamSetUp(PPDMDEVINS pDevIns, PHDASTATE pThis, PHDASTREAM pStreamShared, PHDASTREAMR3 pStreamR3, uint8_t uSD)
    232232{
     233    /* This must be valid all times. */
     234    AssertReturn(uSD < HDA_MAX_STREAMS, VERR_INVALID_PARAMETER);
     235
    233236    /* These member can only change on data corruption, despite what the code does further down (bird).  */
    234     Assert(pStreamShared->u8SD == uSD);
    235     Assert(pStreamR3->u8SD     == uSD);
     237    AssertReturn(pStreamShared->u8SD == uSD, VERR_WRONG_ORDER);
     238    AssertReturn(pStreamR3->u8SD     == uSD, VERR_WRONG_ORDER);
    236239
    237240    const uint64_t u64BDLBase = RT_MAKE_U64(HDA_STREAM_REG(pThis, BDPL, uSD),
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