Thema: Delphi Überlauf bei int64

Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.149 Beiträge
 
Delphi 12 Athens
 
#7

AW: Überlauf bei int64

  Alt Heute, 10:43
TLDR;
Es sollten doch die Octets auch auf Überlauf überprüft werden, also so ungefähr:

Edit: Ok, DeddyH hatte die Prüfung auch schon vorgeschlagen ...

Code:
function IP2Int(const value: string): Int64;
var
  parts: TArray<string>;
  i, octet: Integer;
begin
  Result := 0;
  parts := value.Split(['.']);
  if Length(parts) <> 4 then
    Exit;
  for i := 0 to 3 do
  begin
    if not TryStrToInt(parts[i], octet) then
      Exit;
    if (octet < 0) or (octet > 255) then  //<== Check this
      Exit;
    Result := (Result shl 8) + octet;
  end;
end;
  Mit Zitat antworten Zitat