Message ID | 0FCB215400789046A95ECE23C3E46C518FDA6572@szxema505-mbx.china.huawei.com |
---|---|
State | RFC |
Headers | show |
On Mon, Aug 8, 2016 at 8:32 PM, Zhangkun (K) <zhang.zhangkun@huawei.com> wrote: > diff --git a/datapath/linux/compat/flow_dissector.c b/datapath/linux/compat/flow_dissector.c > index 3f42dba..4c5d023 100644 > --- a/datapath/linux/compat/flow_dissector.c > +++ b/datapath/linux/compat/flow_dissector.c > @@ -77,7 +77,7 @@ again: > struct iphdr _iph; > ip: > iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); > - if (!iph) > + if (!iph || iph->ihl < 5) > return false; > if (ip_is_fragment(iph)) > > Good catch. Can you send formal patch? Thanks.
diff --git a/datapath/linux/compat/flow_dissector.c b/datapath/linux/compat/flow_dissector.c index 3f42dba..4c5d023 100644 --- a/datapath/linux/compat/flow_dissector.c +++ b/datapath/linux/compat/flow_dissector.c @@ -77,7 +77,7 @@ again: struct iphdr _iph; ip: iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); - if (!iph) + if (!iph || iph->ihl < 5) return false; if (ip_is_fragment(iph))