Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Feb 2004 10:34:39 -0800 (PST)
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 46314 for review
Message-ID:  <200402011834.i11IYdcS058240@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=46314

Change 46314 by sam@sam_ebb on 2004/02/01 10:33:57

	o don't reuse ni when doing ap bridge forwarding; besides being
	  bad programming practice it's now used later and so this caused
	  a null reference
	o remove some bogus node_unref calls on error conditions--the caller
	  holds the node ref and is responsible for doing the unref

Affected files ...

.. //depot/projects/netperf+sockets/sys/net80211/ieee80211_input.c#13 edit

Differences ...

==== //depot/projects/netperf+sockets/sys/net80211/ieee80211_input.c#13 (text+ko) ====

@@ -121,7 +121,6 @@
 		IEEE80211_DPRINTF(ic, IEEE80211_MSG_ANY,
 			("receive packet with wrong version: %x\n",
 			wh->i_fc[0]));
-		ieee80211_unref_node(&ni);
 		ic->ic_stats.is_rx_badversion++;
 		goto err;
 	}
@@ -291,7 +290,6 @@
 				IEEE80211_SEND_MGMT(ic, ni,
 				    IEEE80211_FC0_SUBTYPE_DISASSOC,
 				    IEEE80211_REASON_NOT_ASSOCED);
-				ieee80211_unref_node(&ni);
 				ic->ic_stats.is_rx_notassoc++;
 				goto err;
 			}
@@ -305,7 +303,6 @@
 				IEEE80211_DPRINTF(ic, IEEE80211_MSG_INPUT,
 					("%s: data from unauthenticated src %s\n",
 					__func__, ether_sprintf(wh->i_addr2)));
-				ieee80211_unref_node(&ni);
 				ic->ic_stats.is_rx_not1xauth++;
 				/* XXX node statistic */
 				goto err;
@@ -364,13 +361,14 @@
 				else
 					m1->m_flags |= M_MCAST;
 			} else {
-				ni = ieee80211_find_node(ic, eh->ether_dhost);
-				if (ni != NULL) {
-					if (ni->ni_associd != 0) {
+				struct ieee80211_node *ni1 =
+				    ieee80211_find_node(ic, eh->ether_dhost);
+				if (ni1 != NULL) {
+					if (ni1->ni_associd != 0) {
 						m1 = m;
 						m = NULL;
 					}
-					ieee80211_unref_node(&ni);
+					ieee80211_unref_node(&ni1);
 				}
 			}
 			if (m1 != NULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200402011834.i11IYdcS058240>