]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Don't decode the packet when header length(s) is/are invalid
authorFrancois-Xavier Le Bail <[email protected]>
Wed, 24 Jan 2018 21:10:51 +0000 (22:10 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Thu, 25 Jan 2018 10:23:24 +0000 (11:23 +0100)
print.c
tests/hncp_dhcpv4data-oobr.out
tests/icmp6_mobileprefix_asan.out
tests/olsr-oobr-2.out
tests/pim_header_asan-2.out
tests/rpki-rtr-oob.out
tests/rx_ubik-oobr.out
tests/vtp_asan.out

diff --git a/print.c b/print.c
index f20c847f132e7bd32ef02cae9bb37abc5f577d47..7ab74727b6eeaaea7c9d53c4418d35b820285dcf 100644 (file)
--- 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);
 
index 15f3db430183c4fff083c1f193150b03b1727e8d..11b8cbe69f31f4b62924c1556aa2867977a96d24 100644 (file)
@@ -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)]
index 1c4fec49e283e66e708bca7f364d1868af639674..0f0014bfb918e38506af0d903da8d4172c4d1229 100644 (file)
@@ -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]
index ad4055c8289f174d50f5f5e7022e26de3253c6b2..ea01149c575a49c3963204861e64cfd6013038f7 100644 (file)
@@ -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]
index 26d8e0fec2e522751f3d55a593e0a0e589eab575..75f784536cedd71a1b8353a63fdf5ea03df3898c 100644 (file)
@@ -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]
index 6102fedd2fca19a51e89d8700e042ec8b6bdf91e..d3813a1985d74bab5ccc4cfaf4b24c50711c6ac3 100644 (file)
@@ -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)]
index c742855d366ee5cbfa05f9938b2283952f93fd90..baae2d57d3c83830239d32e8adb966819597afa8 100644 (file)
@@ -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)]
index 0a576cad3845d335d46962d107219ebf07667636..ae9e8ad7dcb687534afb8345df8bdfb13d8d464b 100644 (file)
@@ -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]