VirtualBox

Changeset 4192 in vbox


Ignore:
Timestamp:
Aug 16, 2007 10:50:08 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
23684
Message:

Don't crash on misconfiguration (missing buffer). Ignore missing buffer on SSMAFTER_DEBUG_IT.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevATA.cpp

    r4102 r4192  
    58465846            SSMR3GetU32(pSSMHandle, &pData->aCts[i].aIfs[j].cbIOBuffer);
    58475847            if (pData->aCts[i].aIfs[j].cbIOBuffer)
    5848                 SSMR3GetMem(pSSMHandle, pData->aCts[i].aIfs[j].CTXSUFF(pbIOBuffer), pData->aCts[i].aIfs[j].cbIOBuffer);
     5848            {
     5849                if (pData->aCts[i].aIfs[j].CTXSUFF(pbIOBuffer))
     5850                    SSMR3GetMem(pSSMHandle, pData->aCts[i].aIfs[j].CTXSUFF(pbIOBuffer), pData->aCts[i].aIfs[j].cbIOBuffer);
     5851                else
     5852                {
     5853                    LogRel(("ATA: No buffer for %d/%d\n", i, j));
     5854                    if (SSMR3HandleGetAfter(pSSMHandle) != SSMAFTER_DEBUG_IT)
     5855                        break;
     5856                    /* skip the buffer if we're loading for the debugger / animator. */
     5857                    uint8_t u8Ignored;
     5858                    size_t cbLeft = pData->aCts[i].aIfs[j].cbIOBuffer;
     5859                    while (cbLeft-- > 0)
     5860                        SSMR3GetU8(pSSMHandle, &u8Ignored);
     5861                }
     5862            }
    58495863            else
    58505864                Assert(pData->aCts[i].aIfs[j].CTXSUFF(pbIOBuffer) == NULL);
Note: See TracChangeset for help on using the changeset viewer.

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