]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/bridge/br_multicast.c
bridge: Add missing ntohs()s for MLDv2 report parsing
[mv-sheeva.git] / net / bridge / br_multicast.c
index d69beaf83627ec2c49fea6e6bd0302c72a9ba70a..9ce2af1877098d66a7c92219bc5e7d01a1ecef12 100644 (file)
@@ -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) {