X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/521ac1db3f6ba4654aa94227d9c146ab55c7d84f..44a89a1d70ed0459556ea1a2b09b5848b4fc793c:/print-ldp.c diff --git a/print-ldp.c b/print-ldp.c index b05a1218..75e6dd20 100644 --- a/print-ldp.c +++ b/print-ldp.c @@ -309,7 +309,6 @@ ldp_tlv_print(netdissect_options *ndo, switch (af) { case AFNUM_INET: while(tlv_tlen >= sizeof(nd_ipv4)) { - ND_TCHECK_LEN(tptr, sizeof(nd_ipv4)); ND_PRINT(" %s", GET_IPADDR_STRING(tptr)); tlv_tlen-=sizeof(nd_ipv4); tptr+=sizeof(nd_ipv4); @@ -317,7 +316,6 @@ ldp_tlv_print(netdissect_options *ndo, break; case AFNUM_INET6: while(tlv_tlen >= sizeof(nd_ipv6)) { - ND_TCHECK_LEN(tptr, sizeof(nd_ipv6)); ND_PRINT(" %s", GET_IP6ADDR_STRING(tptr)); tlv_tlen-=sizeof(nd_ipv6); tptr+=sizeof(nd_ipv6); @@ -354,8 +352,8 @@ ldp_tlv_print(netdissect_options *ndo, case LDP_FEC_PREFIX: TLV_TCHECK(2); af = GET_BE_U_2(tptr); - tptr+=LDP_TLV_ADDRESS_LIST_AFNUM_LEN; - tlv_tlen-=LDP_TLV_ADDRESS_LIST_AFNUM_LEN; + tptr+=2; + tlv_tlen-=2; if (af == AFNUM_INET) { i=decode_prefix4(ndo, tptr, tlv_tlen, buf, sizeof(buf)); if (i == -2) @@ -540,8 +538,7 @@ ldp_tlv_print(netdissect_options *ndo, return(tlv_len+4); /* Type & Length fields not included */ trunc: - nd_print_trunc(ndo); - return 0; + nd_trunc_longjmp(ndo); invalid: return(tlv_len+4); /* Type & Length fields not included */ @@ -699,6 +696,5 @@ ldp_pdu_print(netdissect_options *ndo, } return pdu_len+4; trunc: - nd_print_trunc(ndo); - return 0; + nd_trunc_longjmp(ndo); }