Plug netmask NULL check during route addition causing kernel panic.
This bug was introduced by the r359823. Reported by: hselasky
This commit is contained in:
parent
789e4d2f20
commit
6722086045
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=359917
@ -103,7 +103,8 @@ rib4_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma
|
||||
|
||||
/* Ensure that default route nhop has special flag */
|
||||
const struct sockaddr_in *mask4 = (const struct sockaddr_in *)mask;
|
||||
if ((rt_flags & RTF_HOST) == 0 && mask4->sin_addr.s_addr == 0)
|
||||
if ((rt_flags & RTF_HOST) == 0 && mask4 != NULL &&
|
||||
mask4->sin_addr.s_addr == 0)
|
||||
nh->nh_flags |= NHF_DEFAULT;
|
||||
|
||||
/* Set nhop type to basic per-AF nhop */
|
||||
|
@ -125,7 +125,7 @@ rib6_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma
|
||||
|
||||
/* Ensure that default route nhop has special flag */
|
||||
const struct sockaddr_in6 *mask6 = (const struct sockaddr_in6 *)mask;
|
||||
if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 &&
|
||||
if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && mask6 != NULL &&
|
||||
IN6_IS_ADDR_UNSPECIFIED(&mask6->sin6_addr))
|
||||
nh->nh_flags |= NHF_DEFAULT;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user