VirtualBox

Changeset 83492 in vbox for trunk/src/VBox/Devices/Storage


Ignore:
Timestamp:
Mar 31, 2020 3:41:14 AM (5 years ago)
Author:
vboxsync
Message:

Storage/DevVirtioSCSI.cpp Add bounds checks for data read back from saved SSM state

File:
1 edited

Legend:

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

    r82968 r83492  
    20102010        uint16_t cReqsRedo;
    20112011        pHlp->pfnSSMGetU16(pSSM, &cReqsRedo);
     2012        if (cReqsRedo >= VIRTQ_MAX_SIZE)
     2013        {
     2014            LogFunc(("Bad count of I/O transactions to re-do in SSM state data. Skipping\n"));
     2015            continue;
     2016        }
    20122017
    20132018        for (uint16_t qIdx = VIRTQ_REQ_BASE; qIdx < VIRTIOSCSI_QUEUE_CNT; qIdx++)
     
    20242029            pHlp->pfnSSMGetU16(pSSM, &uHeadIdx);
    20252030
     2031            if (qIdx >= VIRTIOSCSI_QUEUE_CNT)
     2032            {
     2033                LogFunc(("Bad queue index in SSM state data. Skipping\n"));
     2034                continue;
     2035            }
     2036            if (uHeadIdx >= VIRTQ_MAX_SIZE)
     2037            {
     2038                LogFunc(("Bad queue elem index in SSM state data. Skipping\n"));
     2039                continue;
     2040            }
    20262041            PVIRTIOSCSIWORKERR3 pWorkerR3 = &pThisCC->aWorkers[qIdx];
    20272042            pWorkerR3->auRedoDescs[pWorkerR3->cRedoDescs++] = uHeadIdx;
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