| diff --git a/output/pcap/ulogd_output_PCAP.c b/output/pcap/ulogd_output_PCAP.c |
| index e7798f2..51c4ceb 100644 |
| --- a/output/pcap/ulogd_output_PCAP.c |
| +++ b/output/pcap/ulogd_output_PCAP.c |
| @@ -154,9 +154,15 @@ static int interp_pcap(struct ulogd_pluginstance *upi) |
| switch (ikey_get_u8(&res[5])) { |
| case 2: /* INET */ |
| pchdr.len = ikey_get_u16(&res[2]); |
| + if (pchdr.caplen > 20 + 8) { |
| + pchdr.caplen = 20 + 8; |
| + } |
| break; |
| case 10: /* INET6 -- payload length + header length */ |
| pchdr.len = ikey_get_u16(&res[6]) + 40; |
| + if (pchdr.caplen > 40 + 8) { |
| + pchdr.caplen = 40 + 8; |
| + } |
| break; |
| default: |
| pchdr.len = pchdr.caplen; |
| -- |
| 2.25.4 |
| |