diff options
| -rw-r--r-- | sys/net/rtsock.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index be858428bb3e..de4c3f8c6374 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1866,8 +1866,8 @@ rtsock_msg_buffer(int type, struct rt_addrinfo *rtinfo, struct walkarg *w, int * #endif dlen = SA_SIZE(sa); if (cp != NULL && buflen >= dlen) { - KASSERT(dlen <= sizeof(ss), - ("%s: sockaddr size overflow", __func__)); + if (sa->sa_len > sizeof(ss)) + return (EINVAL); bzero(&ss, sizeof(ss)); bcopy(sa, &ss, sa->sa_len); sa = (struct sockaddr *)&ss; |
