From 0cbe2376ec7e0a966913bf383f098c901893385d Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 30 Jun 2020 05:37:34 -0700 Subject: [PATCH] Added protective case --- IDEHelper/Backend/BeMCContext.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IDEHelper/Backend/BeMCContext.cpp b/IDEHelper/Backend/BeMCContext.cpp index d46eb2f0..1a3e4fac 100644 --- a/IDEHelper/Backend/BeMCContext.cpp +++ b/IDEHelper/Backend/BeMCContext.cpp @@ -5355,6 +5355,8 @@ void BeMCContext::ValidateRMResult(const BeMCOperand& operand, BeRMParamsInfo& r { if (!doValidate) return; + if (rmInfo.mMode == BeMCRMMode_Invalid) + return; //TODO: WTF- this previous version just seems to be wrong! Why did think this was true? the REX.X and REX.B flags fix these // in a SIB, the base can't be R13 (which is RBP+REX), and the scaled index can't be R12 (which is RSP+REX)