diff options
author | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2021-12-27 15:40:13 +0100 |
---|---|---|
committer | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2021-12-27 15:40:13 +0100 |
commit | 705fa25c5f02ed90dc30a5d93c0e72acb53d0941 (patch) | |
tree | e6ec817d2bf6d54fb0bf5001926ef2b306f1aef5 /print-juniper.c | |
parent | a896955638f129d305d76282f4da9b30f73706ef (diff) | |
download | tcpdump-705fa25c5f02ed90dc30a5d93c0e72acb53d0941.tar.gz |
Juniper: Report invalid packets as invalid, not truncated
Update the output of a test accordingly.
Diffstat (limited to 'print-juniper.c')
-rw-r--r-- | print-juniper.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/print-juniper.c b/print-juniper.c index 7b4c492a..a068a6bf 100644 --- a/print-juniper.c +++ b/print-juniper.c @@ -1331,8 +1331,7 @@ juniper_parse_header(netdissect_options *ndo, /* sanity checks */ if (tlv_type == 0 || tlv_len == 0) break; - if (tlv_len+JUNIPER_EXT_TLV_OVERHEAD > extension_length) - goto trunc; + ND_LCHECK_U(extension_length, tlv_len + JUNIPER_EXT_TLV_OVERHEAD); if (ndo->ndo_vflag > 1) ND_PRINT("\n\t %s Extension TLV #%u, length %u, value ", @@ -1589,8 +1588,8 @@ juniper_parse_header(netdissect_options *ndo, ND_PRINT("hlen %u, proto 0x%04x, ", l2info->header_len, l2info->proto); return 1; /* everything went ok so far. continue parsing */ -trunc: - nd_print_trunc(ndo); +invalid: + nd_print_invalid(ndo); return 0; } #endif /* defined(DLT_JUNIPER_GGSN) || defined(DLT_JUNIPER_ES) || \ |