summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortodd <todd@openbsd.org>2006-05-30 19:42:58 +0000
committertodd <todd@openbsd.org>2006-05-30 19:42:58 +0000
commit4a8552d97e541679798b7ed2057006de55c1bad5 (patch)
treea2de60df882644551eaf6dd523c2166a9ac33a86
parentrework the schizo attach to match the upaid and paddr regs (diff)
downloadwireguard-openbsd-4a8552d97e541679798b7ed2057006de55c1bad5.tar.xz
wireguard-openbsd-4a8552d97e541679798b7ed2057006de55c1bad5.zip
this fixes a crash observed by Naddy on amd64, and permits the src/dst ip's to
be visible .. when IPv6 sa flows are present ok claudio@
-rw-r--r--sbin/route/show.c19
-rw-r--r--usr.bin/netstat/show.c14
2 files changed, 17 insertions, 16 deletions
diff --git a/sbin/route/show.c b/sbin/route/show.c
index 30d1d4cbeba..c496688b3a7 100644
--- a/sbin/route/show.c
+++ b/sbin/route/show.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: show.c,v 1.52 2006/05/27 18:26:45 claudio Exp $ */
+/* $OpenBSD: show.c,v 1.53 2006/05/30 19:42:58 todd Exp $ */
/* $NetBSD: show.c,v 1.1 1996/11/15 18:01:41 gwr Exp $ */
/*
@@ -362,17 +362,17 @@ p_encap(struct sockaddr *sa, struct sockaddr *mask, int width)
char *cp;
unsigned short port;
+ if (mask)
+ cp = netname(sa, mask);
+ else
+ cp = routename(sa);
switch (sa->sa_family) {
- case AF_INET6: {
- break;
- }
- default:
- if (mask)
- cp = netname(sa, mask);
- else
- cp = routename(sa);
+ case AF_INET:
port = ntohs(((struct sockaddr_in *)sa)->sin_port);
break;
+ case AF_INET6:
+ port = ntohs(((struct sockaddr_in6 *)sa)->sin6_port);
+ break;
}
if (width < 0)
printf("%s", cp);
@@ -389,6 +389,7 @@ p_protocol(struct sadb_protocol *sap, struct sockaddr *sa, struct sadb_protocol
*saft, int proto)
{
printf("%-6u", sap->sadb_protocol_proto);
+
if (sa)
p_sockaddr(sa, NULL, 0, -1);
else
diff --git a/usr.bin/netstat/show.c b/usr.bin/netstat/show.c
index cbdd6c97b6c..4bc98b06223 100644
--- a/usr.bin/netstat/show.c
+++ b/usr.bin/netstat/show.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: show.c,v 1.1 2006/05/27 19:16:37 claudio Exp $ */
+/* $OpenBSD: show.c,v 1.2 2006/05/30 19:42:58 todd Exp $ */
/* $NetBSD: show.c,v 1.1 1996/11/15 18:01:41 gwr Exp $ */
/*
@@ -372,15 +372,15 @@ p_encap(struct sockaddr *sa, struct sockaddr *mask, int width)
char *cp;
unsigned short port;
+ if (mask)
+ cp = netname(sa, mask);
+ else
+ cp = routename(sa);
switch (sa->sa_family) {
- case AF_INET6: {
+ case AF_INET6:
+ port = ntohs(((struct sockaddr_in6 *)sa)->sin6_port);
break;
- }
default:
- if (mask)
- cp = netname(sa, mask);
- else
- cp = routename(sa);
port = ntohs(((struct sockaddr_in *)sa)->sin_port);
break;
}