summaryrefslogtreecommitdiff
path: root/packages/rtl-extra
diff options
context:
space:
mode:
authormichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-05-15 10:47:48 +0000
committermichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-05-15 10:47:48 +0000
commit24b85003b087a9d3a334e68d16d52d99484bcac5 (patch)
treed495835e4fb4a0806c72344fcaa7e3afa9b4f097 /packages/rtl-extra
parentc3c36283796af0dc28b7aa28b97b1f453b7c0472 (diff)
downloadfpc-24b85003b087a9d3a334e68d16d52d99484bcac5.tar.gz
* Fix bug ID 37080: too permissive val() on supplied quads
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@45367 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/rtl-extra')
-rw-r--r--packages/rtl-extra/src/inc/sockets.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/rtl-extra/src/inc/sockets.inc b/packages/rtl-extra/src/inc/sockets.inc
index 7817f79f5a..b83d573243 100644
--- a/packages/rtl-extra/src/inc/sockets.inc
+++ b/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