refreshed madwifi patches
[openwrt-10.03/.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]);