Browse Source

* Zero out at premature exit

git-svn-id: trunk@45230 -
michael 5 years ago
parent
commit
4e92f2651e
1 changed files with 2 additions and 1 deletions
  1. 2 1
      packages/rtl-extra/src/inc/sockets.inc

+ 2 - 1
packages/rtl-extra/src/inc/sockets.inc

@@ -452,6 +452,7 @@ Var Part   : String;
     ZeroAt : Integer;
     ZeroAt : Integer;
 Begin
 Begin
   FillChar(IPv6,SizeOf(IPv6),0);
   FillChar(IPv6,SizeOf(IPv6),0);
+  FillChar(StrToHostAddr6,SizeOf(TIn6_addr),0);
   { Every 16-bit block is converted at its own and stored into Result. When }
   { Every 16-bit block is converted at its own and stored into Result. When }
   { the '::' zero-spacer is found, its location is stored. Afterwards the   }
   { the '::' zero-spacer is found, its location is stored. Afterwards the   }
   { address is shifted and zero-filled.                                     }
   { address is shifted and zero-filled.                                     }
@@ -469,7 +470,7 @@ Begin
       if J <> 0 then
       if J <> 0 then
         Begin
         Begin
           FillChar(IPv6,SizeOf(IPv6),0);
           FillChar(IPv6,SizeOf(IPv6),0);
-          Exit;
+          Exit(IPV6);
         End;
         End;
       if IP[1] = ':' then
       if IP[1] = ':' then
         Begin
         Begin