Piotr Dobrowolski | a01905a | 2021-10-16 18:22:46 +0200 | [diff] [blame] | 1 | diff --git a/output/pcap/ulogd_output_PCAP.c b/output/pcap/ulogd_output_PCAP.c |
| 2 | index 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 | -- |
| 22 | 2.25.4 |
| 23 | |