summaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2024-08-29 13:11:15 +0000
committerMark Johnston <markj@FreeBSD.org>2024-09-20 11:39:16 +0000
commit59f3eb3b71d5df21882ed95d99ac10911f305b81 (patch)
treefe80fd14f8516de387a43ae814d66cf3a94da1df /sys/netinet6
parent6f636541a3b1fe14a6f85f457c12cf8a7159a121 (diff)
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/in6_pcb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c
index 8046e0fa530d..f7f2ea0b8699 100644
--- a/sys/netinet6/in6_pcb.c
+++ b/sys/netinet6/in6_pcb.c
@@ -370,7 +370,10 @@ in6_pcbladdr(struct inpcb *inp, struct sockaddr_in6 *sin6,
*/
if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr))
sin6->sin6_addr = in6addr_loopback;
+ } else if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
+ return (ENETUNREACH);
}
+
if ((error = prison_remote_ip6(inp->inp_cred, &sin6->sin6_addr)) != 0)
return (error);