merge madwifi trunk changeset 2597
[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-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]);