Patch #9250 (slightly changed): fix source substitution in ip6_output_if() (broken in 2014 with be75c483d0)

Signed-off-by: sg <goldsimon@gmx.de>
(cherry picked from commit fffd61c746)
This commit is contained in:
David van Moolenbroek 2017-02-08 22:16:32 +01:00 committed by goldsimon
parent 99ef13f2be
commit d471e5f89e

View File

@ -815,8 +815,8 @@ ip6_output_if(struct pbuf *p, const ip6_addr_t *src, const ip6_addr_t *dest,
const ip6_addr_t *src_used = src; const ip6_addr_t *src_used = src;
if (dest != LWIP_IP_HDRINCL) { if (dest != LWIP_IP_HDRINCL) {
if (src != NULL && ip6_addr_isany(src)) { if (src != NULL && ip6_addr_isany(src)) {
src = ip_2_ip6(ip6_select_source_address(netif, dest)); src_used = ip_2_ip6(ip6_select_source_address(netif, dest));
if ((src == NULL) || ip6_addr_isany(src)) { if ((src_used == NULL) || ip6_addr_isany(src_used)) {
/* No appropriate source address was found for this packet. */ /* No appropriate source address was found for this packet. */
LWIP_DEBUGF(IP6_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("ip6_output: No suitable source address for packet.\n")); LWIP_DEBUGF(IP6_DEBUG | LWIP_DBG_LEVEL_SERIOUS, ("ip6_output: No suitable source address for packet.\n"));
IP6_STATS_INC(ip6.rterr); IP6_STATS_INC(ip6.rterr);