dccp: Add check for truncated ICMPv6 DCCP error packets
This patch adds a minimum-length check for ICMPv6 packets, as per the previous patch for ICMPv4 payloads. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
This commit is contained in:
parent
18e1d83600
commit
860239c56b
|
@ -96,6 +96,12 @@ static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
__u64 seq;
|
__u64 seq;
|
||||||
struct net *net = dev_net(skb->dev);
|
struct net *net = dev_net(skb->dev);
|
||||||
|
|
||||||
|
if (skb->len < offset + sizeof(*dh) ||
|
||||||
|
skb->len < offset + __dccp_basic_hdr_len(dh)) {
|
||||||
|
ICMP6_INC_STATS_BH(__in6_dev_get(skb->dev), ICMP6_MIB_INERRORS);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sk = inet6_lookup(net, &dccp_hashinfo,
|
sk = inet6_lookup(net, &dccp_hashinfo,
|
||||||
&hdr->daddr, dh->dccph_dport,
|
&hdr->daddr, dh->dccph_dport,
|
||||||
&hdr->saddr, dh->dccph_sport, inet6_iif(skb));
|
&hdr->saddr, dh->dccph_sport, inet6_iif(skb));
|
||||||
|
|
Loading…
Reference in New Issue