aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Thompson <thompsa@FreeBSD.org>2005-11-13 20:26:19 +0000
committerAndrew Thompson <thompsa@FreeBSD.org>2005-11-13 20:26:19 +0000
commit16e7e7d4bcdd57634105622a9fd6be9f061b383d (patch)
tree7af9c6b926317c65660409ea3ad8aee91e32ec35
parentbb4b5f54a52ba99a4c4acd2dd3cd5786cd63f50e (diff)
downloadsrc-16e7e7d4bcdd57634105622a9fd6be9f061b383d.tar.gz
src-16e7e7d4bcdd57634105622a9fd6be9f061b383d.zip
Fix a second missed case where the refcount is not decremented.
MFC after: 3 days
Notes
Notes: svn path=/head/; revision=152393
-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 e3d5ef66795c..a30e6c877e0a 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);
}