bridge: Add missing ntohs()s for MLDv2 report parsing
The nsrcs number is 2 Byte wide, therefore we need to call ntohs() before using it. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
649e984d00
commit
d41db9f3f7
|
@ -1020,11 +1020,12 @@ static int br_ip6_multicast_mld2_report(struct net_bridge *br,
|
|||
|
||||
if (!pskb_may_pull(skb,
|
||||
len + sizeof(*grec) +
|
||||
sizeof(struct in6_addr) * (*nsrcs)))
|
||||
sizeof(struct in6_addr) * ntohs(*nsrcs)))
|
||||
return -EINVAL;
|
||||
|
||||
grec = (struct mld2_grec *)(skb->data + len);
|
||||
len += sizeof(*grec) + sizeof(struct in6_addr) * (*nsrcs);
|
||||
len += sizeof(*grec) +
|
||||
sizeof(struct in6_addr) * ntohs(*nsrcs);
|
||||
|
||||
/* We treat these as MLDv1 reports for now. */
|
||||
switch (grec->grec_type) {
|
||||
|
|
Loading…
Reference in a new issue