Bug 751: file handle leaks can add up until available filehandles for the
process are exhausted.
This commit is contained in:
@@ -62,6 +62,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
|
||||
DEBUG(LOG_INFO, "%s (our ip) = %s", ifr.ifr_name, inet_ntoa(our_ip->sin_addr));
|
||||
} else {
|
||||
LOG(LOG_ERR, "SIOCGIFADDR failed, is the interface up and configured?: %m");
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -71,6 +72,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
|
||||
*ifindex = ifr.ifr_ifindex;
|
||||
} else {
|
||||
LOG(LOG_ERR, "SIOCGIFINDEX failed!: %m");
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
if (ioctl(fd, SIOCGIFHWADDR, &ifr) == 0) {
|
||||
@@ -79,6 +81,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
|
||||
arp[0], arp[1], arp[2], arp[3], arp[4], arp[5]);
|
||||
} else {
|
||||
LOG(LOG_ERR, "SIOCGIFHWADDR failed!: %m");
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user