Changeset 2748
- Timestamp:
- 10/16/07 10:54:05 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
madwifi/tags/release-0.9.3.2/net80211/_ieee80211.h
r2747 r2748 226 226 #define IEEE80211_RATE_SIZE 8 /* 802.11 standard */ 227 227 #define IEEE80211_RATE_MAXSIZE 15 /* max rates we'll handle */ 228 #define IEEE80211_SANITISE_RATESIZE(_rsz) \229 ((_rsz > IEEE80211_RATE_MAXSIZE) ? IEEE80211_RATE_MAXSIZE : _rsz)230 228 231 229 struct ieee80211_rateset { madwifi/tags/release-0.9.3.2/net80211/ieee80211_linux.h
r2746 r2748 31 31 32 32 #include <linux/wireless.h> 33 #include <linux/fs.h>34 33 35 34 /* madwifi/tags/release-0.9.3.2/net80211/ieee80211_scan_sta.c
r2747 r2748 236 236 (ISPROBE(subtype) || ise->se_ssid[1] == 0)) 237 237 memcpy(ise->se_ssid, sp->ssid, 2 + sp->ssid[1]); 238 memcpy(ise->se_rates, sp->rates, 239 2 + IEEE80211_SANITISE_RATESIZE(sp->rates[1])); 238 KASSERT(sp->rates[1] <= IEEE80211_RATE_MAXSIZE, 239 ("rate set too large: %u", sp->rates[1])); 240 memcpy(ise->se_rates, sp->rates, 2 + sp->rates[1]); 240 241 if (sp->xrates != NULL) { 241 memcpy(ise->se_xrates, sp->xrates, 242 2 + IEEE80211_SANITISE_RATESIZE(sp->xrates[1])); 242 /* XXX validate xrates[1] */ 243 KASSERT(sp->xrates[1] <= IEEE80211_RATE_MAXSIZE, 244 ("xrate set too large: %u", sp->xrates[1])); 245 memcpy(ise->se_xrates, sp->xrates, 2 + sp->xrates[1]); 243 246 } else 244 247 ise->se_xrates[1] = 0;
