ARC: harden versus badly-formatted AMS line
[users/jgh/exim.git] / test / runtest
index ad3a74da87a4c6802aa3c6d745e52be7d09c5c6f..6319f5b8163a03da8257e3ac107de3068edde037 100755 (executable)
@@ -3406,7 +3406,7 @@ open(IFCONFIG, '-|', (grep { -x "$_/ip" } split /:/, $ENV{PATH}) ? 'ip address'
   or die "** Cannot run 'ip address' or 'ifconfig -a'\n";
 while (not ($parm_ipv4 and $parm_ipv6) and defined($_ = <IFCONFIG>))
   {
-  if (/^(?:[0-9]+: )?([^:]+): /) { $ifname = $1; }
+  if (/^(?:[0-9]+: )?([a-z0-9]+): /) { $ifname = $1; }
 
   if (not $parm_ipv4 and /^\s*inet(?:\saddr)?:?\s?(\d+\.\d+\.\d+\.\d+)(?:\/\d+)?\s/i)
     {
@@ -3419,7 +3419,7 @@ while (not ($parm_ipv4 and $parm_ipv6) and defined($_ = <IFCONFIG>))
 
   if (not $parm_ipv6 and /^\s*inet6(?:\saddr)?:?\s?([abcdef\d:]+)(?:%[^ \/]+)?(?:\/\d+)?/i)
     {
-    next if $1 eq '::' or $1 eq '::1' or $1 =~ /^ff00/i;
+    next if $1 eq '::' or $1 eq '::1' or $1 =~ /^ff00/i or $1 =~ /^fe80::1/i;
     $parm_ipv6 = $1;
     if ($1 =~ /^fe80/i) { $parm_ipv6 .= '%' . $ifname; }
     }