diff options
author | 2002-02-25 03:06:10 +0000 | |
---|---|---|
committer | 2002-02-25 03:06:10 +0000 | |
commit | 60be732d6016e98b5d9d9dc083bce5cbad9cd1ea (patch) | |
tree | 92a59040c5d4fd5a63cd4c8f6494d7bb4989ecb6 | |
parent | do not age address on loopback interface. sync w/kame (diff) | |
download | wireguard-openbsd-60be732d6016e98b5d9d9dc083bce5cbad9cd1ea.tar.xz wireguard-openbsd-60be732d6016e98b5d9d9dc083bce5cbad9cd1ea.zip |
skip sockaddr correctly if sa_len < sockaddr. from niklas
-rw-r--r-- | lib/libc/net/if_nameindex.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/net/if_nameindex.c b/lib/libc/net/if_nameindex.c index 88f162d7dd2..2b85fbae959 100644 --- a/lib/libc/net/if_nameindex.c +++ b/lib/libc/net/if_nameindex.c @@ -103,6 +103,9 @@ if_nameindex(void) p += IFNAMSIZ; sa = p; + if (sa->sa_len < sizeof(struct sockaddr)) + sa->sa_len = sizeof(struct sockaddr); + if (len < sa->sa_len) goto ret; len -= sa->sa_len; |