From 44b98ef4fc7f04b52b456131b6b51f25c2c36019 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Mon, 15 Mar 2021 23:54:10 -0700 Subject: [PATCH] Add extra protection against internal perl error on IPv6 lookup --- web-lib-funcs.pl | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index 004d64150..c446ea96b 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -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];