소스 검색

netfilter: nf_tables_ipv6: setup pktinfo transport field on failure to parse

Make sure the pktinfo protocol fields are initialized if this fails to
parse the transport header.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Pablo Neira Ayuso 9 년 전
부모
커밋
8df9e32e7e
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      include/net/netfilter/nf_tables_ipv6.h

+ 3 - 2
include/net/netfilter/nf_tables_ipv6.h

@@ -15,9 +15,10 @@ nft_set_pktinfo_ipv6(struct nft_pktinfo *pkt,
 	nft_set_pktinfo(pkt, skb, state);
 	nft_set_pktinfo(pkt, skb, state);
 
 
 	protohdr = ipv6_find_hdr(pkt->skb, &thoff, -1, &frag_off, NULL);
 	protohdr = ipv6_find_hdr(pkt->skb, &thoff, -1, &frag_off, NULL);
-	/* If malformed, drop it */
-	if (protohdr < 0)
+	if (protohdr < 0) {
+		nft_set_pktinfo_proto_unspec(pkt, skb);
 		return -1;
 		return -1;
+	}
 
 
 	pkt->tprot_set = true;
 	pkt->tprot_set = true;
 	pkt->tprot = protohdr;
 	pkt->tprot = protohdr;