Date: Wed, 27 Oct 2004 19:48:18 GMT From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 63843 for review Message-ID: <200410271948.i9RJmIMp011321@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=63843 Change 63843 by sam@sam_ebb on 2004/10/27 19:47:46 Change IEEE80211_IOC_WPAIE to copy only the mac address in and only as much data as request out. Makes it a bit more convenient to use. Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#5 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#5 (text+ko) ==== @@ -890,9 +890,9 @@ struct ieee80211req_wpaie wpaie; int error; - if (ireq->i_len != sizeof(wpaie)) + if (ireq->i_len < IEEE80211_ADDR_LEN) return EINVAL; - error = copyin(ireq->i_data, &wpaie, sizeof(wpaie)); + error = copyin(ireq->i_data, wpaie.wpa_macaddr, IEEE80211_ADDR_LEN); if (error != 0) return error; ni = ieee80211_find_node(ic, wpaie.wpa_macaddr); @@ -906,7 +906,9 @@ memcpy(wpaie.wpa_ie, ni->ni_wpa_ie, ielen); } ieee80211_free_node(ic, ni); - return copyout(&wpaie, ireq->i_data, sizeof(wpaie)); + if (ireq->i_len > sizeof(wpaie)) + ireq->i_len = sizeof(wpaie); + return copyout(&wpaie, ireq->i_data, ireq->i_len); } static int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410271948.i9RJmIMp011321>