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.
*/