From 47d2c70bde8c0bdc67e85578133338fc63c33f13 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 17 Jun 2021 11:41:48 +0200 Subject: [PATCH 2/2] Fix _resolv return value in case of the new warnings. Thanks to @nlv02636 Backported fromn Net-Ping 2.68 --- dist/Net-Ping/lib/Net/Ping.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dist/Net-Ping/lib/Net/Ping.pm b/dist/Net-Ping/lib/Net/Ping.pm index 9e2497c..87087fc 100644 --- a/dist/Net-Ping/lib/Net/Ping.pm +++ b/dist/Net-Ping/lib/Net/Ping.pm @@ -1794,6 +1794,7 @@ sub _resolv { # Clean up port if (defined($h{port}) && (($h{port} !~ /^\d{1,5}$/) || ($h{port} < 1) || ($h{port} > 65535))) { croak("Invalid port `$h{port}' in `$name'"); + return undef; } # END - host:port @@ -1850,18 +1851,21 @@ sub _resolv { } else { (undef, $h{addr_in}, undef, undef) = Socket::unpack_sockaddr_in6 $getaddr[0]->{addr}; } - return \%h + return \%h; } else { carp("getnameinfo($getaddr[0]->{addr}) failed - $err"); + return undef; } } else { warn(sprintf("getaddrinfo($h{host},,%s) failed - $err", $family == AF_INET ? "AF_INET" : "AF_INET6")); + return undef; } # old way } else { if ($family == $AF_INET6) { croak("Socket >= 1.94 required for IPv6 - found Socket $Socket::VERSION"); + return undef; } my @gethost = gethostbyname($h{host}); @@ -1872,8 +1876,10 @@ sub _resolv { return \%h } else { carp("gethostbyname($h{host}) failed - $^E"); + return undef; } } + return undef; } sub _pack_sockaddr_in($$) { -- 2.31.1