Check error returns from connect() et al (which present as an undef
return from IO::Socket::INET), and from read() (which can be detected
via IO::Handle::error).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
if (!defined $leases) { return "open $leasesfn: $!"; }
} else {
$leases= new IO::Socket::INET(PeerAddr => $leasesfn);
+ if (!defined $leases) { return "connect to $leasesfn: $!"; }
}
my $lstash= "dhcpleases-$gho->{Guest}";
if (!$best) {
$saveas->("$lstash.nolease", 3);
+ if ($leases->error) {
+ return "error reading $leasesfn";
+ }
return "no active lease";
}
$gho->{Ip}= $best->{' addr'};