From: Linus Lüssing Date: Tue, 15 Feb 2011 13:19:19 +0000 (+0000) Subject: bridge: Add missing ntohs()s for MLDv2 report parsing X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;ds=sidebyside;h=d41db9f3f71548f07b8b6d81a88220d0035b04f6;p=deliverable%2Flinux.git 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 Signed-off-by: David S. Miller --- diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index d69beaf83627..9ce2af187709 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -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) {