blob: c89b80c60bbeea155059ee71468c7650d932d36d [file] [log] [blame]
Piotr Dobrowolskia01905a2021-10-16 18:22:46 +02001diff --git a/output/pcap/ulogd_output_PCAP.c b/output/pcap/ulogd_output_PCAP.c
2index e7798f2..51c4ceb 100644
3--- a/output/pcap/ulogd_output_PCAP.c
4+++ b/output/pcap/ulogd_output_PCAP.c
5@@ -154,9 +154,15 @@ static int interp_pcap(struct ulogd_pluginstance *upi)
6 switch (ikey_get_u8(&res[5])) {
7 case 2: /* INET */
8 pchdr.len = ikey_get_u16(&res[2]);
9+ if (pchdr.caplen > 20 + 8) {
10+ pchdr.caplen = 20 + 8;
11+ }
12 break;
13 case 10: /* INET6 -- payload length + header length */
14 pchdr.len = ikey_get_u16(&res[6]) + 40;
15+ if (pchdr.caplen > 40 + 8) {
16+ pchdr.caplen = 40 + 8;
17+ }
18 break;
19 default:
20 pchdr.len = pchdr.caplen;
21--
222.25.4
23