mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2025-01-08 00:38:23 +08:00
0fa0692de3
Do more checks for running past the TLV or subTLV length. For errors where we go past the TLV or subTLV length, report that as a separate error from just "ran past the end of the packet". When looping over TLVs or subTLVs, loop as long as there's data available and, if there isn't *enough* data available within the TLV or subTLV, report that as a "ran past the end of the TLV/subTLV" error. In isis_print_ext_is_reach(), correctly calculate the number of bytes we process - that amount is smaller for the Alias TLV than for other TLVs, as the Alias TLV doesn't have a Metric field.
63 lines
3.0 KiB
Plaintext
63 lines
3.0 KiB
Plaintext
1 03:09:46.435536 IS-IS, length 1497
|
|
L2 Lan IIH, hlen: 27, v: 1, pdu-v: 1, sys-id-len: 6 (0), max-area: 3 (0)
|
|
source-id: 4444.0444.4444, holding time: 10s, Flags: [Level 2 only]
|
|
lan-id: 6344.4444.4444.01, Priority: 64, PDU length: 1497
|
|
Protocols supported TLV #129, length: 1
|
|
NLPID(s): IPv4 (0xcc)
|
|
Area address(es) TLV #1, length: 4
|
|
Area address (length: 3): 49.0014
|
|
unknown TLV #80, length: 4
|
|
0x0000: 0a00 0002
|
|
Restart Signaling TLV #211, length: 3
|
|
Flags [none], Remaining holding time 0s
|
|
IS Neighbor(s) TLV #6, length: 6
|
|
SNPA: c202.2998.0051
|
|
Padding TLV #8, length: 255
|
|
IS Alias ID TLV #24, length: 255
|
|
IS Neighbor: f500.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0056.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, sub-TLVs present (37)
|
|
unknown subTLV #0, length: 0
|
|
unknown subTLV #0, length: 0
|
|
unknown subTLV #0, length: 0
|
|
unknown subTLV #0, length: 0
|
|
Bandwidth Constraints subTLV #22, length: 0
|
|
unknown subTLV #0, length: 0
|
|
unknown subTLV #0, length: 0
|
|
unknown subTLV #64, length: 0
|
|
unknown subTLV #0, length: 189 (remaining data in subTLVs shorter than the current subTLV)
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.2000.0000.f0, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0059.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, no sub-TLVs present
|
|
IS Neighbor: 0000.0000.0000.00, sub-TLVs present (125)
|
|
unknown subTLV #0, length: 0
|
|
Remaining data in TLV shorter than a subTLV header
|
|
Padding TLV #8, length: 255
|
|
Padding TLV #8, length: 255
|
|
Padding TLV #8, length: 247
|
|
unknown TLV #0, length: 0
|
|
unknown TLV #0, length: 0
|
|
unknown TLV #0, length: 0
|
|
unknown TLV #0, length: 0
|
|
Padding TLV #8, length: 155
|