mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 08:40:24 +00:00
Add extra protection against internal perl error on IPv6 lookup
This commit is contained in:
@@ -3348,16 +3348,18 @@ elsif (!&supports_ipv6()) {
|
||||
}
|
||||
else {
|
||||
# Perform IPv6 DNS lookup
|
||||
my @ai = getaddrinfo($host, undef, AF_INET6(), SOCK_STREAM);
|
||||
while(@ai) {
|
||||
my @newia;
|
||||
(undef, undef, undef, $inaddr, undef, @newai) = @ai;
|
||||
if ($inaddr) {
|
||||
my $addr;
|
||||
(undef, $addr) = unpack_sockaddr_in6($inaddr);
|
||||
push(@rv, inet_ntop(AF_INET6(), $addr));
|
||||
eval {
|
||||
my @ai = getaddrinfo($host, undef, AF_INET6(), SOCK_STREAM);
|
||||
while(@ai) {
|
||||
my @newia;
|
||||
(undef, undef, undef, $inaddr, undef, @newai) = @ai;
|
||||
if ($inaddr) {
|
||||
my $addr;
|
||||
(undef, $addr) = unpack_sockaddr_in6($inaddr);
|
||||
push(@rv, inet_ntop(AF_INET6(), $addr));
|
||||
}
|
||||
@ai = @newai;
|
||||
}
|
||||
@ai = @newai;
|
||||
}
|
||||
}
|
||||
return wantarray ? @rv : $rv[0];
|
||||
|
||||
Reference in New Issue
Block a user