|
@@ -48,11 +48,13 @@ tcpoptstrip_mangle_packet(struct sk_buff *skb,
|
|
return NF_DROP;
|
|
return NF_DROP;
|
|
|
|
|
|
len = skb->len - tcphoff;
|
|
len = skb->len - tcphoff;
|
|
- if (len < (int)sizeof(struct tcphdr) ||
|
|
|
|
- tcp_hdr(skb)->doff * 4 > len)
|
|
|
|
|
|
+ if (len < (int)sizeof(struct tcphdr))
|
|
return NF_DROP;
|
|
return NF_DROP;
|
|
|
|
|
|
tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff);
|
|
tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff);
|
|
|
|
+ if (tcph->doff * 4 > len)
|
|
|
|
+ return NF_DROP;
|
|
|
|
+
|
|
opt = (u_int8_t *)tcph;
|
|
opt = (u_int8_t *)tcph;
|
|
|
|
|
|
/*
|
|
/*
|