diff options
Diffstat (limited to 'contrib/package/iwinfo/src/iwinfo_wext_scan.c')
-rw-r--r-- | contrib/package/iwinfo/src/iwinfo_wext_scan.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/package/iwinfo/src/iwinfo_wext_scan.c b/contrib/package/iwinfo/src/iwinfo_wext_scan.c index b0c1f15e8e..f812618375 100644 --- a/contrib/package/iwinfo/src/iwinfo_wext_scan.c +++ b/contrib/package/iwinfo/src/iwinfo_wext_scan.c @@ -29,7 +29,10 @@ static int wext_ioctl(const char *ifname, int cmd, struct iwreq *wrq) { /* prepare socket */ if( ioctl_socket == -1 ) + { ioctl_socket = socket(AF_INET, SOCK_DGRAM, 0); + fcntl(ioctl_socket, F_SETFD, fcntl(ioctl_socket, F_GETFD) | FD_CLOEXEC); + } strncpy(wrq->ifr_name, ifname, IFNAMSIZ); return ioctl(ioctl_socket, cmd, wrq); @@ -249,7 +252,7 @@ static inline void wext_fill_wpa(unsigned char *iebuf, int buflen, struct iwinfo case 0xdd: /* WPA or else */ wpa_oui = wpa1_oui; - /* Not all IEs that start with 0xdd are WPA. + /* Not all IEs that start with 0xdd are WPA. * * So check that the OUI is valid. */ if((ielen < 8) || ((memcmp(&iebuf[offset], wpa_oui, 3) != 0) && (iebuf[offset+3] == 0x01))) @@ -477,7 +480,7 @@ int wext_get_scanlist(const char *ifname, char *buf, int *len) wrq.u.data.pointer = (caddr_t) ⦥ wrq.u.data.length = sizeof(struct iw_range); - wrq.u.data.flags = 0; + wrq.u.data.flags = 0; if( wext_ioctl(ifname, SIOCGIWRANGE, &wrq) >= 0 ) { @@ -650,4 +653,3 @@ int wext_get_scanlist(const char *ifname, char *buf, int *len) return -1; } - |