Index: sys/netinet6/udp6_usrreq.c
===================================================================
RCS file: /cvsroot/src/sys/netinet6/udp6_usrreq.c,v
retrieving revision 1.141
diff -u -r1.141 udp6_usrreq.c
--- sys/netinet6/udp6_usrreq.c	28 Apr 2018 13:26:57 -0000	1.141
+++ sys/netinet6/udp6_usrreq.c	4 Nov 2018 08:31:25 -0000
@@ -763,7 +763,10 @@
 			    in6p->in6p_moptions,
 			    &in6p->in6p_route,
 			    &in6p->in6p_laddr, &oifp, &psref, &_laddr);
-			/* XXX need error check? */
+			if (error)
+				laddr = NULL;
+			else
+				laddr = &_laddr;
 			if (oifp && scope_ambiguous &&
 			    (error = in6_setscope(&sin6->sin6_addr,
 			    oifp, NULL))) {
@@ -773,7 +776,6 @@
 			}
 			if_put(oifp, &psref);
 			curlwp_bindx(bound);
-			laddr = &_laddr;
 		} else {
 			/*
 			 * XXX: freebsd[34] does not have in_selectsrc, but
