Pārlūkot izejas kodu

* Fix bug ID #37080: too permissive val() on supplied quads

git-svn-id: trunk@45367 -
michael 5 gadi atpakaļ
vecāks
revīzija
a0c403f445
1 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. 6 0
      packages/rtl-extra/src/inc/sockets.inc

+ 6 - 0
packages/rtl-extra/src/inc/sockets.inc

@@ -303,6 +303,9 @@ end;
 
 function StrToHostAddr(IP : AnsiString) : in_addr ;
 
+Const
+  AllowedChars = ['.','0'..'9'];
+
 Var
     Dummy : AnsiString;
     I,j,k     : Longint;
@@ -310,6 +313,9 @@ Var
 
 begin
   strtohostaddr.s_addr:=0;              //:=NoAddress;
+  for I:=1 to Length(IP) do
+    if Not (IP[I] in AllowedChars) then 
+      exit;
   For I:=1 to 4 do
     begin
       If I<4 Then