You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.5 KiB
46 lines
1.5 KiB
From 98e98bf9cc6ee76d7861db966708b1e51cc6e014 Mon Sep 17 00:00:00 2001 |
|
From: rpm-build <rpm-build> |
|
Date: Tue, 15 Sep 2015 13:30:37 +0200 |
|
Subject: [PATCH] bpf: make sure sll header size if accounted for |
|
|
|
This got reverted when backporting bpf_filter_with_auxdata. |
|
|
|
Related: #1176612 |
|
--- |
|
pcap-linux.c | 6 +++--- |
|
1 file changed, 3 insertions(+), 3 deletions(-) |
|
|
|
diff --git a/pcap-linux.c b/pcap-linux.c |
|
index a5b8953..f7f2aae 100644 |
|
--- a/pcap-linux.c |
|
+++ b/pcap-linux.c |
|
@@ -4306,7 +4306,7 @@ static int pcap_handle_packet_mmap( |
|
aux_data.vlan_tag = tp_vlan_tci & 0x0fff; |
|
aux_data.vlan_tag_present = tp_vlan_tci_valid; |
|
|
|
- if (bpf_filter_with_aux_data(handle->fcode.bf_insns, bp, tp_len, tp_snaplen, &aux_data) == 0) |
|
+ if (bpf_filter_with_aux_data(handle->fcode.bf_insns, bp, tp_len, snaplen, &aux_data) == 0) |
|
return 0; |
|
} |
|
|
|
@@ -4316,7 +4316,7 @@ static int pcap_handle_packet_mmap( |
|
/* get required packet info from ring header */ |
|
pcaphdr.ts.tv_sec = tp_sec; |
|
pcaphdr.ts.tv_usec = tp_usec; |
|
- pcaphdr.caplen = tp_snaplen; |
|
+ pcaphdr.caplen = snaplen; |
|
pcaphdr.len = tp_len; |
|
|
|
/* if required build in place the sll header*/ |
|
@@ -4329,7 +4329,7 @@ static int pcap_handle_packet_mmap( |
|
#if defined(HAVE_TPACKET2) || defined(HAVE_TPACKET3) |
|
if (tp_vlan_tci_valid && |
|
handlep->vlan_offset != -1 && |
|
- tp_snaplen >= (unsigned int) handlep->vlan_offset) |
|
+ snaplen >= (unsigned int) handlep->vlan_offset) |
|
{ |
|
struct vlan_tag *tag; |
|
|
|
-- |
|
2.4.3 |
|
|
|
|