summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2005-11-13 20:26:19 +0000
committerthompsa <thompsa@FreeBSD.org>2005-11-13 20:26:19 +0000
commitfbc50274729a9027a9b0d9f1b799585fc1a512a6 (patch)
tree7af9c6b926317c65660409ea3ad8aee91e32ec35 /sys
parent7f6a46605870a6c11d4b56a597133e302285771d (diff)
downloadFreeBSD-src-fbc50274729a9027a9b0d9f1b799585fc1a512a6.zip
FreeBSD-src-fbc50274729a9027a9b0d9f1b799585fc1a512a6.tar.gz
Fix a second missed case where the refcount is not decremented.
MFC after: 3 days
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_bridge.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index e3d5ef6..a30e6c8 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -1825,9 +1825,9 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet *src_if,
#endif
)) {
if (bridge_pfil(&m, sc->sc_ifp, NULL, PFIL_OUT) != 0)
- return;
+ goto out;
if (m == NULL)
- return;
+ goto out;
}
LIST_FOREACH(bif, &sc->sc_iflist, bif_next) {
@@ -1882,6 +1882,7 @@ bridge_broadcast(struct bridge_softc *sc, struct ifnet *src_if,
if (used == 0)
m_freem(m);
+out:
BRIDGE_UNREF(sc);
}
OpenPOWER on IntegriCloud