summaryrefslogtreecommitdiff
path: root/print-juniper.c
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-12-27 15:40:13 +0100
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-12-27 15:40:13 +0100
commit705fa25c5f02ed90dc30a5d93c0e72acb53d0941 (patch)
treee6ec817d2bf6d54fb0bf5001926ef2b306f1aef5 /print-juniper.c
parenta896955638f129d305d76282f4da9b30f73706ef (diff)
downloadtcpdump-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.c7
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) || \