1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-14 14:24:10 +02:00

More stack protection

This commit is contained in:
Brian Fiete 2020-03-09 08:42:14 -07:00
parent 8cafd6814f
commit a67f68ee8c

View file

@ -10934,9 +10934,9 @@ int WinDebugger::GetJmpState(int stackFrameIdx)
{ {
AutoCrit autoCrit(mDebugManager->mCritSect); AutoCrit autoCrit(mDebugManager->mCritSect);
if (mCallStack.size() == 0) if (!FixCallStackIdx(stackFrameIdx))
UpdateCallStack(); return -1;
int actualStackFrameIdx = BF_MAX(0, stackFrameIdx); int actualStackFrameIdx = BF_MAX(0, stackFrameIdx);
UpdateCallStackMethod(actualStackFrameIdx); UpdateCallStackMethod(actualStackFrameIdx);
WdStackFrame* wdStackFrame = mCallStack[actualStackFrameIdx]; WdStackFrame* wdStackFrame = mCallStack[actualStackFrameIdx];
@ -10954,8 +10954,8 @@ intptr WinDebugger::GetStackFrameCalleeAddr(int stackFrameIdx)
{ {
AutoCrit autoCrit(mDebugManager->mCritSect); AutoCrit autoCrit(mDebugManager->mCritSect);
if (mCallStack.size() == 0) if (!FixCallStackIdx(stackFrameIdx))
UpdateCallStack(); return -1;
int actualStackFrameIdx = BF_MAX(0, stackFrameIdx); int actualStackFrameIdx = BF_MAX(0, stackFrameIdx);
UpdateCallStackMethod(actualStackFrameIdx); UpdateCallStackMethod(actualStackFrameIdx);
@ -10978,8 +10978,8 @@ String WinDebugger::GetStackMethodOwner(int stackFrameIdx, int& language)
{ {
AutoCrit autoCrit(mDebugManager->mCritSect); AutoCrit autoCrit(mDebugManager->mCritSect);
if (mCallStack.size() == 0) if (!FixCallStackIdx(stackFrameIdx))
UpdateCallStack(); return "";
int actualStackFrameIdx = BF_MAX(0, stackFrameIdx); int actualStackFrameIdx = BF_MAX(0, stackFrameIdx);
if (actualStackFrameIdx >= (int)mCallStack.size()) if (actualStackFrameIdx >= (int)mCallStack.size())