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>
Tested by:	Mark Kamichoff <prox at prolixium com>
MFC after:	1 week
This commit is contained in:
ae 2016-09-29 19:57:37 +00:00
parent afb49c8e8c
commit f7637dcb59

View File

@ -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);