diff options
author | 2018-10-15 11:31:11 +0000 | |
---|---|---|
committer | 2018-10-15 11:31:11 +0000 | |
commit | 7cda49b36ee830adc8827180c176e6d95a121f18 (patch) | |
tree | 3feca4c48924ee4f161c027cc07a654fc59f21df | |
parent | struct sockaddr_storage is guaranteed to be large enough, no need to check (diff) | |
download | wireguard-openbsd-7cda49b36ee830adc8827180c176e6d95a121f18.tar.xz wireguard-openbsd-7cda49b36ee830adc8827180c176e6d95a121f18.zip |
No need to check ai_addrlen when we already checked ai_family, we
are copying into the right sized struct.
We can also trust the resolver to give us IPv6 if we ask it to.
OK kn, deraadt
-rw-r--r-- | usr.sbin/traceroute/traceroute.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/usr.sbin/traceroute/traceroute.c b/usr.sbin/traceroute/traceroute.c index 96a0bd15aa9..9c8a1ce8e6a 100644 --- a/usr.sbin/traceroute/traceroute.c +++ b/usr.sbin/traceroute/traceroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: traceroute.c,v 1.155 2017/05/28 10:06:13 benno Exp $ */ +/* $OpenBSD: traceroute.c,v 1.156 2018/10/15 11:31:11 florian Exp $ */ /* $NetBSD: traceroute.c,v 1.10 1995/05/21 15:50:45 mycroft Exp $ */ /* @@ -588,16 +588,10 @@ main(int argc, char *argv[]) switch (res->ai_family) { case AF_INET: - if (res->ai_addrlen != sizeof(to4)) - errx(1, "size of sockaddr mismatch"); - to = (struct sockaddr *)&to4; from = (struct sockaddr *)&from4; break; case AF_INET6: - if (res->ai_addrlen != sizeof(to6)) - errx(1, "size of sockaddr mismatch"); - to = (struct sockaddr *)&to6; from = (struct sockaddr *)&from6; break; @@ -779,8 +773,6 @@ main(int argc, char *argv[]) &res))) errx(1, "%s: %s", conf->source, gai_strerror(error)); - if (res->ai_addrlen != sizeof(from6)) - errx(1, "size of sockaddr mismatch"); memcpy(&from6, res->ai_addr, res->ai_addrlen); freeaddrinfo(res); } else { |