FpDebug: fix overflow in stack eval

(cherry picked from commit 315bb059d8)
This commit is contained in:
Martin 2022-05-09 23:48:30 +02:00
parent 261cce6274
commit 4ad24ee837

View File

@ -2877,9 +2877,9 @@ begin
if not OutSideFrame then begin if not OutSideFrame then begin
{$PUSH}{$R-}{$Q-} {$PUSH}{$R-}{$Q-}
StackPtr := FrameBase + 2 * Size; // After popping return-addr from "FrameBase + Size" StackPtr := FrameBase + 2 * Size; // After popping return-addr from "FrameBase + Size"
{$POP}
if not Process.ReadData(FrameBase + Size, Size, Address) or (Address = 0) then Break; if not Process.ReadData(FrameBase + Size, Size, Address) or (Address = 0) then Break;
if not Process.ReadData(FrameBase, Size, FrameBase) then Break; if not Process.ReadData(FrameBase, Size, FrameBase) then Break;
{$POP}
end; end;
AnEntry := TDbgCallstackEntry.create(Self, NextIdx, FrameBase, Address); AnEntry := TDbgCallstackEntry.create(Self, NextIdx, FrameBase, Address);
AnEntry.RegisterValueList.DbgRegisterAutoCreate[nIP].SetValue(Address, IntToStr(Address),Size, IP); AnEntry.RegisterValueList.DbgRegisterAutoCreate[nIP].SetValue(Address, IntToStr(Address),Size, IP);