Fix a node reference leak in ieee80211_ioctl_getspy loop

git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2823 0192ed92-7a03-0410-a25b-9323aeb14dbd
This commit is contained in:
mtaylor 2007-11-03 05:30:40 +00:00
parent a9875c1c61
commit 3b4dd6cb3a

View File

@ -1103,14 +1103,15 @@ ieee80211_ioctl_getspy(struct net_device *dev, struct iw_request_info *info,
for (i = 0; i < number; i++) {
ni = ieee80211_find_node(nt, &vap->iv_spy.mac[i * IEEE80211_ADDR_LEN]);
/* check we are associated w/ this vap */
if (ni && (ni->ni_vap == vap)) {
set_quality(&spy_stat[i], ni->ni_rssi, ic->ic_channoise);
if (ni->ni_rtsf != vap->iv_spy.ts_rssi[i]) {
vap->iv_spy.ts_rssi[i] = ni->ni_rtsf;
} else {
spy_stat[i].updated = 0;
if (ni) {
if(ni->ni_vap == vap) {
set_quality(&spy_stat[i], ni->ni_rssi, ic->ic_channoise);
if (ni->ni_rtsf != vap->iv_spy.ts_rssi[i]) {
vap->iv_spy.ts_rssi[i] = ni->ni_rtsf;
} else {
spy_stat[i].updated = 0;
}
}
ieee80211_unref_node(&ni);
} else {
spy_stat[i].updated = IW_QUAL_ALL_INVALID;