From owner-p4-projects@FreeBSD.ORG Sun Feb 1 10:34:49 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74B9F16A4D0; Sun, 1 Feb 2004 10:34:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5007116A4CE for ; Sun, 1 Feb 2004 10:34:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7075743D39 for ; Sun, 1 Feb 2004 10:34:40 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i11IYe0B058243 for ; Sun, 1 Feb 2004 10:34:40 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i11IYdcS058240 for perforce@freebsd.org; Sun, 1 Feb 2004 10:34:39 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sun, 1 Feb 2004 10:34:39 -0800 (PST) Message-Id: <200402011834.i11IYdcS058240@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 46314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Feb 2004 18:34:49 -0000 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) {