summaryrefslogtreecommitdiffstats
path: root/sys/netinet/if_ether.c
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2004-10-26 03:31:58 +0000
committerbms <bms@FreeBSD.org>2004-10-26 03:31:58 +0000
commit53c873427ab2ae8bb56b057c752cbc9f60e0e04f (patch)
tree450b0cf302699144da7062467bc1b5a7b57f3f64 /sys/netinet/if_ether.c
parentd3d2befd519fe2087880911da06ab63c04768017 (diff)
downloadFreeBSD-src-53c873427ab2ae8bb56b057c752cbc9f60e0e04f.zip
FreeBSD-src-53c873427ab2ae8bb56b057c752cbc9f60e0e04f.tar.gz
Check that rt_mask(rt) is non-NULL before dereferencing it, in the
RTM_ADD case, thus avoiding a panic. Submitted by: Iasen Kostov
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r--sys/netinet/if_ether.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 92df01b..9d3c95a 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -178,6 +178,7 @@ arp_rtrequest(req, rt, info)
* restore cloning bit.
*/
if ((rt->rt_flags & RTF_HOST) == 0 &&
+ rt_mask(rt) != NULL &&
SIN(rt_mask(rt))->sin_addr.s_addr != 0xffffffff)
rt->rt_flags |= RTF_CLONING;
if (rt->rt_flags & RTF_CLONING) {
OpenPOWER on IntegriCloud