X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7885cfa165458a05ef818c34ee03affc79f03725..d9acf8cb11e30b7d7744cb0dd05e628109cb73f0:/print-l2tp.c diff --git a/print-l2tp.c b/print-l2tp.c index 0d464544..940aa2b6 100644 --- a/print-l2tp.c +++ b/print-l2tp.c @@ -572,8 +572,7 @@ l2tp_avp_print(netdissect_options *ndo, const u_char *dat, u_int length) int hidden = FALSE; ND_PRINT(" "); - - ND_TCHECK_2(dat); /* Flags & Length */ + /* Flags & Length */ len = GET_BE_U_2(dat) & L2TP_AVP_HDR_LEN_MASK; /* If it is not long enough to contain the header, we'll give up. */ @@ -746,7 +745,6 @@ l2tp_print(netdissect_options *ndo, const u_char *dat, u_int length) ndo->ndo_protocol = "l2tp"; flag_t = flag_l = flag_s = flag_o = FALSE; - ND_TCHECK_2(ptr); /* Flags & Version */ if ((GET_BE_U_2(ptr) & L2TP_VERSION_MASK) == L2TP_VERSION_L2TP) { ND_PRINT(" l2tp:"); } else if ((GET_BE_U_2(ptr) & L2TP_VERSION_MASK) == L2TP_VERSION_L2F) { @@ -782,37 +780,34 @@ l2tp_print(netdissect_options *ndo, const u_char *dat, u_int length) cnt += 2; if (flag_l) { - ND_TCHECK_2(ptr); /* Length */ l2tp_len = GET_BE_U_2(ptr); ptr += 2; cnt += 2; } else { l2tp_len = 0; } - - ND_TCHECK_2(ptr); /* Tunnel ID */ + /* Tunnel ID */ ND_PRINT("(%u/", GET_BE_U_2(ptr)); ptr += 2; cnt += 2; - ND_TCHECK_2(ptr); /* Session ID */ + /* Session ID */ ND_PRINT("%u)", GET_BE_U_2(ptr)); ptr += 2; cnt += 2; if (flag_s) { - ND_TCHECK_2(ptr); /* Ns */ ND_PRINT("Ns=%u,", GET_BE_U_2(ptr)); ptr += 2; cnt += 2; - ND_TCHECK_2(ptr); /* Nr */ ND_PRINT("Nr=%u", GET_BE_U_2(ptr)); ptr += 2; cnt += 2; } - if (flag_o) { - ND_TCHECK_2(ptr); /* Offset Size */ + if (flag_o) { /* Offset Size */ pad = GET_BE_U_2(ptr); + /* Offset padding octets in packet buffer? */ + ND_TCHECK_LEN(ptr + 2, pad); ptr += (2 + pad); cnt += (2 + pad); } @@ -858,9 +853,7 @@ l2tp_print(netdissect_options *ndo, const u_char *dat, u_int length) ppp_print(ndo, ptr, length - cnt); ND_PRINT("}"); } - return; - - trunc: +trunc: nd_print_trunc(ndo); }