diff options
Diffstat (limited to 'freebsd/sys/net/route.c')
-rw-r--r-- | freebsd/sys/net/route.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/freebsd/sys/net/route.c b/freebsd/sys/net/route.c index 3cd909c1..0933c3a8 100644 --- a/freebsd/sys/net/route.c +++ b/freebsd/sys/net/route.c @@ -1585,6 +1585,8 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, switch (req) { case RTM_DELETE: if (netmask) { + if (dst->sa_len > sizeof(mdst)) + return (EINVAL); rt_maskedcopy(dst, (struct sockaddr *)&mdst, netmask); dst = (struct sockaddr *)&mdst; } |