diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -1017,6 +1017,9 @@ if ((rtinfo->rti_addrs & (1 << i)) == 0) continue; sa = (struct sockaddr *)cp; + if (sa->sa_len < 2) { + return (EINVAL); + } /* * It won't fit. */