Fix bug #55973: The parsing of max response time in MLD Query message was wrong

Apply patch from Gao Qingshui
This commit is contained in:
Dirk Ziegelmeier 2019-03-24 21:32:26 +01:00 committed by Simon Goldschmidt
parent 1bb6e7f52d
commit e60f9bb24f

View File

@ -253,7 +253,7 @@ mld6_input(struct pbuf *p, struct netif *inp)
while (group != NULL) { while (group != NULL) {
if ((!(ip6_addr_ismulticast_iflocal(&(group->group_address)))) && if ((!(ip6_addr_ismulticast_iflocal(&(group->group_address)))) &&
(!(ip6_addr_isallnodes_linklocal(&(group->group_address))))) { (!(ip6_addr_isallnodes_linklocal(&(group->group_address))))) {
mld6_delayed_report(group, mld_hdr->max_resp_delay); mld6_delayed_report(group, lwip_ntohs(mld_hdr->max_resp_delay));
} }
group = group->next; group = group->next;
} }
@ -265,7 +265,7 @@ mld6_input(struct pbuf *p, struct netif *inp)
group = mld6_lookfor_group(inp, ip6_current_dest_addr()); group = mld6_lookfor_group(inp, ip6_current_dest_addr());
if (group != NULL) { if (group != NULL) {
/* Schedule a report. */ /* Schedule a report. */
mld6_delayed_report(group, mld_hdr->max_resp_delay); mld6_delayed_report(group, lwip_ntohs(mld_hdr->max_resp_delay));
} }
} }
break; /* ICMP6_TYPE_MLQ */ break; /* ICMP6_TYPE_MLQ */