diff options
author | bms <bms@FreeBSD.org> | 2004-10-26 03:31:58 +0000 |
---|---|---|
committer | bms <bms@FreeBSD.org> | 2004-10-26 03:31:58 +0000 |
commit | 53c873427ab2ae8bb56b057c752cbc9f60e0e04f (patch) | |
tree | 450b0cf302699144da7062467bc1b5a7b57f3f64 /sys/netinet/if_ether.c | |
parent | d3d2befd519fe2087880911da06ab63c04768017 (diff) | |
download | FreeBSD-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.c | 1 |
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) { |