Plug an fd leak in the OpenBSD-specific code for _first_

This commit is contained in:
Jasper Lievisse Adriaanse 2017-02-07 19:23:53 +01:00
parent 93576bccc3
commit 3c6d5ac3d7
1 changed files with 8 additions and 5 deletions

View File

@ -94,18 +94,21 @@ static net_type_t iface_type(const char *ifname) {
strlcpy(bssid.i_name, ifname, sizeof(bssid.i_name));
ibssid = ioctl(s, SIOCG80211BSSID, &bssid);
if (ibssid == 0 || inwid == 0)
if (ibssid == 0 || inwid == 0) {
close(s);
return NET_TYPE_WIRELESS;
}
(void)memset(&ifmr, 0, sizeof(ifmr));
(void)strlcpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name));
if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0)
if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
close(s);
return NET_TYPE_OTHER;
else
} else {
close(s);
return NET_TYPE_ETHERNET;
close(s);
}
#else
#error Missing implementation to determine interface type.
#endif