|
@@ -1165,7 +1165,6 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|
|
if (max_delay)
|
|
|
group = &mld->mld_mca;
|
|
|
} else if (skb->len >= sizeof(*mld2q)) {
|
|
|
- u16 mrc;
|
|
|
if (!pskb_may_pull(skb, sizeof(*mld2q))) {
|
|
|
err = -EINVAL;
|
|
|
goto out;
|
|
@@ -1173,8 +1172,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
|
|
mld2q = (struct mld2_query *)icmp6_hdr(skb);
|
|
|
if (!mld2q->mld2q_nsrcs)
|
|
|
group = &mld2q->mld2q_mca;
|
|
|
- mrc = ntohs(mld2q->mld2q_mrc);
|
|
|
- max_delay = mrc ? MLDV2_MRC(mrc) : 1;
|
|
|
+ max_delay = mld2q->mld2q_mrc ? MLDV2_MRC(ntohs(mld2q->mld2q_mrc)) : 1;
|
|
|
}
|
|
|
|
|
|
if (!group)
|