codetools: fixed range check

git-svn-id: branches/fixes_1_4@48261 -
This commit is contained in:
mattias 2015-03-11 12:28:40 +00:00
parent 3fc9fb02c2
commit bcb439a7ef

View File

@ -2329,12 +2329,15 @@ begin
end;
function TCustomCodeTool.IsPCharInSrc(ACleanPos: PChar): boolean;
var NewPos: integer;
// Note: the ending #0 is a valid position
var
p: PChar;
begin
Result:=false;
if Src='' then exit;
NewPos:=PtrInt(PtrUInt(ACleanPos))-PtrInt(PtrUInt(@Src[1]))+1;
if (NewPos<1) or (NewPos>SrcLen) then exit;
p:=PChar(Src);
if p>ACleanPos then exit;
if ACleanPos>p+SrcLen then exit;
Result:=true;
end;