summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritojun <itojun@openbsd.org>2002-06-09 00:22:24 +0000
committeritojun <itojun@openbsd.org>2002-06-09 00:22:24 +0000
commitc185dfbe0aaaa92a5fdbbd5a7730b8ef75ad5247 (patch)
treee5bc0dd42efc24adc6da163803c8b4804949e7ba
parentdifferent magics for malloc and pool, art@ ok (diff)
downloadwireguard-openbsd-c185dfbe0aaaa92a5fdbbd5a7730b8ef75ad5247.tar.xz
wireguard-openbsd-c185dfbe0aaaa92a5fdbbd5a7730b8ef75ad5247.zip
correct getpeername(2).
-rw-r--r--sys/netinet6/in6_pcb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c
index acc6320b627..c3186b48dc7 100644
--- a/sys/netinet6/in6_pcb.c
+++ b/sys/netinet6/in6_pcb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: in6_pcb.c,v 1.28 2002/03/14 01:27:12 millert Exp $ */
+/* $OpenBSD: in6_pcb.c,v 1.29 2002/06/09 00:22:24 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -717,6 +717,8 @@ in6_setpeeraddr(inp, nam)
sin6->sin6_len = sizeof(struct sockaddr_in6);
sin6->sin6_port = inp->inp_fport;
sin6->sin6_addr = inp->inp_faddr6;
+ /* KAME hack: recover scopeid */
+ (void)in6_recoverscope(sin6, &inp->inp_faddr6, NULL);
return 0;
}