summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2016-10-06 08:11:53 +0000
committerae <ae@FreeBSD.org>2016-10-06 08:11:53 +0000
commit22e3935b200286024203db77aec100fca35e3e95 (patch)
tree0905776963236079c65cfe3c37da18a9bca38f16
parent5f793c3782956d7cfe115088655547069e0d2ef6 (diff)
downloadFreeBSD-src-22e3935b200286024203db77aec100fca35e3e95.zip
FreeBSD-src-22e3935b200286024203db77aec100fca35e3e95.tar.gz
MFC r306459:
Fix bug introduced in r274300. In icmp6_reflect() use original source address of erroneous packet as destination address for source selection algorithm when original destination address is not one of our own. Reported by: Mark Kamichoff <prox at prolixium com>
-rw-r--r--sys/netinet6/icmp6.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c
index 13f0ab7..eea44a8 100644
--- a/sys/netinet6/icmp6.c
+++ b/sys/netinet6/icmp6.c
@@ -2146,7 +2146,7 @@ icmp6_reflect(struct mbuf *m, size_t off)
* that we do not own. Select a source address based on the
* source address of the erroneous packet.
*/
- in6_splitscope(&ip6->ip6_dst, &dst6, &scopeid);
+ in6_splitscope(&ip6->ip6_src, &dst6, &scopeid);
error = in6_selectsrc_addr(RT_DEFAULT_FIB, &dst6,
scopeid, NULL, &src6, &hlim);
OpenPOWER on IntegriCloud