refreshed madwifi patches
[openwrt/staging/dedeckeh.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-10-20 20:52:09.000000000 +0200
4 +++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c 2007-10-20 20:52:44.000000000 +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-10-20 20:52:09.000000000 +0200
17 +++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c 2007-10-20 20:52:39.000000000 +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]);