mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-06 00:30:34 +02:00
Also check for the type of the register when replacing it. In certain circumstances this can still lead to access to invalid memory resulting either in an access violation or invalid registers.
git-svn-id: trunk@22779 -
This commit is contained in:
parent
ee62a1ed50
commit
d15304c25e
@ -2259,9 +2259,12 @@ unit rgobj;
|
||||
begin
|
||||
if regtype in [R_INTREGISTER,R_ADDRESSREGISTER] then
|
||||
begin
|
||||
{ no need to check for the register type here }
|
||||
tryreplacereg(ref^.base);
|
||||
tryreplacereg(ref^.index);
|
||||
if (ref^.base <> NR_NO) and
|
||||
(getregtype(ref^.base)=regtype) then
|
||||
tryreplacereg(ref^.base);
|
||||
if (ref^.index <> NR_NO) and
|
||||
(getregtype(ref^.index)=regtype) then
|
||||
tryreplacereg(ref^.index);
|
||||
end;
|
||||
end;
|
||||
{$ifdef ARM}
|
||||
|
Loading…
Reference in New Issue
Block a user