summaryrefslogtreecommitdiffstats
path: root/sys/net/rtsock.c
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2007-03-27 16:11:28 +0000
committerbms <bms@FreeBSD.org>2007-03-27 16:11:28 +0000
commit441b1fffcf1f60b98ed1a108c3b48647ffc35d6f (patch)
tree0c6e5b6e3d60d1ee93994ea858c1ce89495cf428 /sys/net/rtsock.c
parenta8be3c5db775d7348bb09c2d0618af6352050826 (diff)
downloadFreeBSD-src-441b1fffcf1f60b98ed1a108c3b48647ffc35d6f.zip
FreeBSD-src-441b1fffcf1f60b98ed1a108c3b48647ffc35d6f.tar.gz
Fix a case where hardware removal of an interface caused an attempt to
announce an ll_ifma which has gone away. Add a KASSERT to catch regressions. Bug found by: Tom Uffner
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r--sys/net/rtsock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index 16b94ad..8394786 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -964,6 +964,8 @@ rt_newmaddrmsg(int cmd, struct ifmultiaddr *ifma)
if (m == NULL)
return;
ifmam = mtod(m, struct ifma_msghdr *);
+ KASSERT(ifp != NULL, ("%s: link-layer multicast address w/o ifp\n",
+ __func__));
ifmam->ifmam_index = ifp->if_index;
ifmam->ifmam_addrs = info.rti_addrs;
rt_dispatch(m, ifma->ifma_addr);
OpenPOWER on IntegriCloud