X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=net%2Fbridge%2Fbr_multicast.c;h=480b3de1a0e3e158a0968355902a8da4764b5d4f;hb=c2d4fbd2163e607915cc05798ce7fb7f31117cc1;hp=66efdc21f548524a19f3abc3ea5268b245f88dd2;hpb=3af6e98f25d1f68b9c36beee330342944a4e0048;p=cascardo%2Flinux.git diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 66efdc21f548..480b3de1a0e3 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1006,7 +1006,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge *br, ih = igmpv3_report_hdr(skb); num = ntohs(ih->ngrec); - len = sizeof(*ih); + len = skb_transport_offset(skb) + sizeof(*ih); for (i = 0; i < num; i++) { len += sizeof(*grec); @@ -1067,7 +1067,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge *br, icmp6h = icmp6_hdr(skb); num = ntohs(icmp6h->icmp6_dataun.un_data16[1]); - len = sizeof(*icmp6h); + len = skb_transport_offset(skb) + sizeof(*icmp6h); for (i = 0; i < num; i++) { __be16 *nsrcs, _nsrcs;