VirtualBox

Changeset 75231 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Nov 2, 2018 5:29:23 PM (6 years ago)
Author:
vboxsync
Message:

IEM: Check invalid r/m encoding to avoid IPE.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h

    r74603 r75231  
    94819481        uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); RT_NOREF(bRm);
    94829482#ifndef TST_IEM_CHECK_MC
    9483         RTGCPTR      GCPtrEff;
    9484         VBOXSTRICTRC rcStrict = iemOpHlpCalcRmEffAddr(pVCpu, bRm, 0, &GCPtrEff);
    9485         if (rcStrict != VINF_SUCCESS)
    9486             return rcStrict;
     9483        if ((bRm & X86_MODRM_MOD_MASK) != (3 << X86_MODRM_MOD_SHIFT))
     9484        {
     9485            RTGCPTR      GCPtrEff;
     9486            VBOXSTRICTRC rcStrict = iemOpHlpCalcRmEffAddr(pVCpu, bRm, 0, &GCPtrEff);
     9487            if (rcStrict != VINF_SUCCESS)
     9488                return rcStrict;
     9489        }
    94879490#endif
    94889491        IEMOP_HLP_DONE_DECODING();
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