diff options
author | ae <ae@FreeBSD.org> | 2016-10-06 08:11:53 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2016-10-06 08:11:53 +0000 |
commit | 22e3935b200286024203db77aec100fca35e3e95 (patch) | |
tree | 0905776963236079c65cfe3c37da18a9bca38f16 | |
parent | 5f793c3782956d7cfe115088655547069e0d2ef6 (diff) | |
download | FreeBSD-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.c | 2 |
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); |