summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2018-10-15 11:31:11 +0000
committerflorian <florian@openbsd.org>2018-10-15 11:31:11 +0000
commit7cda49b36ee830adc8827180c176e6d95a121f18 (patch)
tree3feca4c48924ee4f161c027cc07a654fc59f21df
parentstruct sockaddr_storage is guaranteed to be large enough, no need to check (diff)
downloadwireguard-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.c10
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 {