netfilter: nft_osf: check for TCP packet before further processing
[linux-2.6-microblaze.git] / net / netfilter / nft_osf.c
index ac61f70..d82677e 100644 (file)
@@ -28,6 +28,11 @@ static void nft_osf_eval(const struct nft_expr *expr, struct nft_regs *regs,
        struct nf_osf_data data;
        struct tcphdr _tcph;
 
+       if (pkt->tprot != IPPROTO_TCP) {
+               regs->verdict.code = NFT_BREAK;
+               return;
+       }
+
        tcp = skb_header_pointer(skb, ip_hdrlen(skb),
                                 sizeof(struct tcphdr), &_tcph);
        if (!tcp) {