adhoc has issues with bgscan as well
[openwrt/svn-archive/archive.git] / package / madwifi / patches / 128-adhoc_memleak.patch
1 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
2 ===================================================================
3 --- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c 2007-07-24 00:01:54.068861828 +0200
4 +++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c 2007-07-24 00:02:44.035709278 +0200
5 @@ -2875,7 +2875,7 @@
6 }
7 if ((vap->iv_opmode == IEEE80211_M_IBSS) &&
8 (scan.capinfo & IEEE80211_CAPINFO_IBSS)) {
9 - if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) {
10 + if (ni == vap->iv_bss) {
11 /* Create a new entry in the neighbor table. */
12 ni = ieee80211_add_neighbor(vap, wh, &scan);
13 } else {
14 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
15 ===================================================================
16 --- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c 2007-07-24 00:02:51.284122342 +0200
17 +++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c 2007-07-24 00:03:04.540877800 +0200
18 @@ -1205,7 +1205,7 @@
19 struct ieee80211com *ic = vap->iv_ic;
20 struct ieee80211_node *ni;
21
22 - ni = ieee80211_dup_bss(vap, wh->i_addr2, 1);
23 + ni = ieee80211_dup_bss(vap, wh->i_addr2, 0);
24 if (ni != NULL) {
25 ni->ni_esslen = sp->ssid[1];
26 memcpy(ni->ni_essid, sp->ssid + 2, sp->ssid[1]);