From: Francois-Xavier Le Bail Date: Wed, 24 Jan 2018 21:10:51 +0000 (+0100) Subject: Don't decode the packet when header length(s) is/are invalid X-Git-Tag: tcpdump-4.99-bp~1358 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/c1ce37fff39b13c79fcfbbba8dfea2f6b1f365fb Don't decode the packet when header length(s) is/are invalid --- diff --git a/print.c b/print.c index f20c847f..7ab74727 100644 --- a/print.c +++ b/print.c @@ -338,8 +338,10 @@ pretty_print_packet(netdissect_options *ndo, const struct pcap_pkthdr *h, ND_PRINT(","); ND_PRINT(" len(%u) < caplen(%u)", h->len, h->caplen); } - if (ndo->ndo_invalid_header) - ND_PRINT("] "); + if (ndo->ndo_invalid_header) { + ND_PRINT("]\n"); + return; + } ts_print(ndo, &h->ts); diff --git a/tests/hncp_dhcpv4data-oobr.out b/tests/hncp_dhcpv4data-oobr.out index 15f3db43..11b8cbe6 100644 --- a/tests/hncp_dhcpv4data-oobr.out +++ b/tests/hncp_dhcpv4data-oobr.out @@ -1,4 +1 @@ -[Invalid header: len(50) < caplen(79)] IP truncated-ip - 260 bytes missing! (tos 0x12,ECT(0), ttl 48, id 21323, offset 0, flags [+, DF, rsvd], proto UDP (17), length 296, bad cksum 8e0f (->cd08)!) - 1.2.7.0.1812 > 128.253.0.96.8231: hncp (268) - DHCPv4-Data (6) - DNS-server (98) (invalid) +[Invalid header: len(50) < caplen(79)] diff --git a/tests/icmp6_mobileprefix_asan.out b/tests/icmp6_mobileprefix_asan.out index 1c4fec49..0f0014bf 100644 --- a/tests/icmp6_mobileprefix_asan.out +++ b/tests/icmp6_mobileprefix_asan.out @@ -1,2 +1,2 @@ IP6 (class 0x50, flowlabel 0x0002c, hlim 0, next-header ICMPv6 (58) payload length: 7168) 4f:f829:c:1a1a:1a1a:1a1a:1a37:0 > 16:0:400:0:64fb:9303:f293:8200: ICMP6, mobile router advertisement, length 7168, id 0x9393[|icmp6] -[Invalid header: caplen==0, len==0] [|ether] +[Invalid header: caplen==0, len==0] diff --git a/tests/olsr-oobr-2.out b/tests/olsr-oobr-2.out index ad4055c8..ea01149c 100644 --- a/tests/olsr-oobr-2.out +++ b/tests/olsr-oobr-2.out @@ -1,3 +1,3 @@ -[Invalid header: caplen==0] [|ether] -[Invalid header: caplen==0] [|ether] +[Invalid header: caplen==0] +[Invalid header: caplen==0] IP6 (flowlabel 0x06400, hlim 0, next-header UDP (17) payload length: 5401) 0:24::1e:a0a:141e.698 > 38fd:7f49:eaff:ffff:2025:7373:7562:2573.2: OLSRv6, seq 0x0201, length 5393[|olsr] diff --git a/tests/pim_header_asan-2.out b/tests/pim_header_asan-2.out index 26d8e0fe..75f78453 100644 --- a/tests/pim_header_asan-2.out +++ b/tests/pim_header_asan-2.out @@ -1,5 +1,5 @@ IP6 (class 0x76, flowlabel 0xf6767, hlim 109, next-header PIM (103) payload length: 13927) 6767:ff:ffff:ff67:6767:6778:6767:6767 > 6700:7f:e664:24:2424:2424:2424:25eb: PIMv2, length 13927 Register, RFC2117-encoding, cksum 0x4e23 (unverified), Flags [ none ] [|pim] -[Invalid header: caplen==0] [|ether] -[Invalid header: len==0] [|ether] +[Invalid header: caplen==0] +[Invalid header: len==0] diff --git a/tests/rpki-rtr-oob.out b/tests/rpki-rtr-oob.out index 6102fedd..d3813a19 100644 --- a/tests/rpki-rtr-oob.out +++ b/tests/rpki-rtr-oob.out @@ -1,3 +1 @@ -[Invalid header: len(54) < caplen(64)] IP truncated-ip - 22 bytes missing! (tos 0x0, ttl 254, id 13327, offset 0, flags [+, DF, rsvd], proto TCP (6), length 62, bad cksum 8e7f (->c283)!) - 19.128.128.20.323 > 76.19.6.127.49600: Flags [none], seq 2684354563:2684354585, win 28672, length 22 - RPKI-RTRv171 (unknown) +[Invalid header: len(54) < caplen(64)] diff --git a/tests/rx_ubik-oobr.out b/tests/rx_ubik-oobr.out index c742855d..baae2d57 100644 --- a/tests/rx_ubik-oobr.out +++ b/tests/rx_ubik-oobr.out @@ -1 +1 @@ -[Invalid header: len(76) < caplen(94)] IP truncated-ip - 2598 bytes missing! 222.241.104.198.3503 > 131.63.241.146.7002: rx data pt ubik call disk-lock tid 50266112.32382 file 2122216448 pos 545160708 length 1087685554 [|ubik] (2632) +[Invalid header: len(76) < caplen(94)] diff --git a/tests/vtp_asan.out b/tests/vtp_asan.out index 0a576cad..ae9e8ad7 100644 --- a/tests/vtp_asan.out +++ b/tests/vtp_asan.out @@ -1,6 +1,6 @@ FRF.16 Frag, seq 193, Flags [Begin, End], UI 08! VTPv69, Message Subset advertisement (0x02), length 2126400013 Domain name: , Seq number: 0[|vtp] -[Invalid header: caplen==0] [|mfr] -[Invalid header: caplen==0, len==0] [|mfr] -[Invalid header: caplen==0, len==0] [|mfr] -[Invalid header: caplen==0, len==0] [|mfr] +[Invalid header: caplen==0] +[Invalid header: caplen==0, len==0] +[Invalid header: caplen==0, len==0] +[Invalid header: caplen==0, len==0]