VirtualBox

Changeset 86294 in vbox


Ignore:
Timestamp:
Sep 25, 2020 8:58:28 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
140571
Message:

Main/MachineImpl.cpp: Added missing bound checks on getSerialPort and getParallelPort. (asan complained running tdApi1.py)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r86125 r86294  
    45914591HRESULT Machine::getSerialPort(ULONG aSlot, ComPtr<ISerialPort> &aPort)
    45924592{
    4593 
    4594     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    4595 
    4596     mSerialPorts[aSlot].queryInterfaceTo(aPort.asOutParam());
    4597 
    4598     return S_OK;
     4593    if (aSlot < RT_ELEMENTS(mSerialPorts))
     4594    {
     4595        AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     4596        mSerialPorts[aSlot].queryInterfaceTo(aPort.asOutParam());
     4597        return S_OK;
     4598    }
     4599    return setError(E_INVALIDARG, tr("Serial port slot %RU32 is out of bounds (max %zu)"), aSlot, RT_ELEMENTS(mSerialPorts));
    45994600}
    46004601
    46014602HRESULT Machine::getParallelPort(ULONG aSlot, ComPtr<IParallelPort> &aPort)
    46024603{
    4603     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    4604 
    4605     mParallelPorts[aSlot].queryInterfaceTo(aPort.asOutParam());
    4606 
    4607     return S_OK;
    4608 }
     4604    if (aSlot < RT_ELEMENTS(mParallelPorts))
     4605    {
     4606        AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     4607        mParallelPorts[aSlot].queryInterfaceTo(aPort.asOutParam());
     4608        return S_OK;
     4609    }
     4610    return setError(E_INVALIDARG, tr("Parallel port slot %RU32 is out of bounds (max %zu)"), aSlot, RT_ELEMENTS(mParallelPorts));
     4611}
     4612
    46094613
    46104614HRESULT Machine::getNetworkAdapter(ULONG aSlot, ComPtr<INetworkAdapter> &aAdapter)
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