]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-isoclns.c
Use more the ND_TTEST_1() macro
[tcpdump] / print-isoclns.c
index e4bc69412abc34bacdb347cabec8fef0f54bff5b..3d09f994eb564184b275af7d40feafd19e96c891 100644 (file)
@@ -36,7 +36,6 @@
 
 #include "netdissect.h"
 #include "addrtoname.h"
-#include "ether.h"
 #include "nlpid.h"
 #include "extract.h"
 #include "gmpls.h"
@@ -49,7 +48,7 @@ static const char tstr[] = " [|isis]";
  * IS-IS is defined in ISO 10589.  Look there for protocol definitions.
  */
 
-#define SYSTEM_ID_LEN  ETHER_ADDR_LEN
+#define SYSTEM_ID_LEN  MAC_ADDR_LEN
 #define NODE_ID_LEN     (SYSTEM_ID_LEN+1)
 #define LSP_ID_LEN      (SYSTEM_ID_LEN+2)
 
@@ -672,7 +671,7 @@ struct isis_tlv_lsp {
 void
 isoclns_print(netdissect_options *ndo, const uint8_t *p, u_int length)
 {
-       if (!ND_TTEST(*p)) { /* enough bytes on the wire ? */
+       if (!ND_TTEST_1(p)) { /* enough bytes on the wire ? */
                ND_PRINT((ndo, "|OSI"));
                return;
        }
@@ -680,7 +679,7 @@ isoclns_print(netdissect_options *ndo, const uint8_t *p, u_int length)
        if (ndo->ndo_eflag)
                ND_PRINT((ndo, "OSI NLPID %s (0x%02x): ", tok2str(nlpid_values, "Unknown", EXTRACT_U_1(p)), EXTRACT_U_1(p)));
 
-       switch (*p) {
+       switch (EXTRACT_U_1(p)) {
 
        case NLPID_CLNP:
                if (!clnp_print(ndo, p, length))
@@ -816,7 +815,7 @@ clnp_print(netdissect_options *ndo,
             ND_PRINT((ndo, "li < size of fixed part of CLNP header and addresses"));
             return (0);
         }
-       ND_TCHECK(*pptr);
+       ND_TCHECK_1(pptr);
         dest_address_length = EXTRACT_U_1(pptr);
         pptr += 1;
         li -= 1;
@@ -824,7 +823,7 @@ clnp_print(netdissect_options *ndo,
             ND_PRINT((ndo, "li < size of fixed part of CLNP header and addresses"));
             return (0);
         }
-        ND_TCHECK2(*pptr, dest_address_length);
+        ND_TCHECK_LEN(pptr, dest_address_length);
         dest_address = pptr;
         pptr += dest_address_length;
         li -= dest_address_length;
@@ -833,7 +832,7 @@ clnp_print(netdissect_options *ndo,
             ND_PRINT((ndo, "li < size of fixed part of CLNP header and addresses"));
             return (0);
         }
-       ND_TCHECK(*pptr);
+       ND_TCHECK_1(pptr);
         source_address_length = EXTRACT_U_1(pptr);
         pptr += 1;
         li -= 1;
@@ -841,7 +840,7 @@ clnp_print(netdissect_options *ndo,
             ND_PRINT((ndo, "li < size of fixed part of CLNP header and addresses"));
             return (0);
         }
-        ND_TCHECK2(*pptr, source_address_length);
+        ND_TCHECK_LEN(pptr, source_address_length);
         source_address = pptr;
         pptr += source_address_length;
         li -= source_address_length;
@@ -911,7 +910,7 @@ clnp_print(netdissect_options *ndo,
                 ND_PRINT((ndo, ", opt (%d) too long", op));
                 return (0);
             }
-            ND_TCHECK2(*pptr, opli);
+            ND_TCHECK_LEN(pptr, opli);
             li -= opli;
             tptr = pptr;
             tlen = opli;
@@ -923,8 +922,8 @@ clnp_print(netdissect_options *ndo,
 
             /*
              * We've already checked that the entire option is present
-             * in the captured packet with the ND_TCHECK2() call.
-             * Therefore, we don't need to do ND_TCHECK()/ND_TCHECK2()
+             * in the captured packet with the ND_TCHECK_LEN() call.
+             * Therefore, we don't need to do ND_TCHECK()/ND_TCHECK_LEN()
              * checks.
              * We do, however, need to check tlen, to make sure we
              * don't run past the end of the option.
@@ -961,7 +960,8 @@ clnp_print(netdissect_options *ndo,
                             }
                             if (source_address_length > 0) {
                                     source_address=(tptr+1);
-                                    ND_TCHECK2(*source_address, source_address_length);
+                                    ND_TCHECK_LEN(source_address,
+                                                  source_address_length);
                                     ND_PRINT((ndo, "\n\t    NSAP address (length %u): %s",
                                            source_address_length,
                                            isonsap_string(ndo, source_address, source_address_length)));
@@ -1040,7 +1040,7 @@ clnp_print(netdissect_options *ndo,
 
         case    CLNP_PDU_ER: /* fall through */
         case   CLNP_PDU_ERP:
-            ND_TCHECK(*pptr);
+            ND_TCHECK_1(pptr);
             if (EXTRACT_U_1(pptr) == NLPID_CLNP) {
                 ND_PRINT((ndo, "\n\t-----original packet-----\n\t"));
                 /* FIXME recursion protection */
@@ -1174,7 +1174,7 @@ esis_print(netdissect_options *ndo,
                const uint8_t *dst, *snpa, *neta;
                u_int dstl, snpal, netal;
 
-               ND_TCHECK(*pptr);
+               ND_TCHECK_1(pptr);
                if (li < 1) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
@@ -1182,7 +1182,7 @@ esis_print(netdissect_options *ndo,
                dstl = EXTRACT_U_1(pptr);
                pptr++;
                li--;
-               ND_TCHECK2(*pptr, dstl);
+               ND_TCHECK_LEN(pptr, dstl);
                if (li < dstl) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
@@ -1192,7 +1192,7 @@ esis_print(netdissect_options *ndo,
                 li -= dstl;
                ND_PRINT((ndo, "\n\t  %s", isonsap_string(ndo, dst, dstl)));
 
-               ND_TCHECK(*pptr);
+               ND_TCHECK_1(pptr);
                if (li < 1) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
@@ -1200,7 +1200,7 @@ esis_print(netdissect_options *ndo,
                snpal = EXTRACT_U_1(pptr);
                pptr++;
                li--;
-               ND_TCHECK2(*pptr, snpal);
+               ND_TCHECK_LEN(pptr, snpal);
                if (li < snpal) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
@@ -1208,14 +1208,14 @@ esis_print(netdissect_options *ndo,
                snpa = pptr;
                pptr += snpal;
                 li -= snpal;
-               ND_TCHECK(*pptr);
+               ND_TCHECK_1(pptr);
                if (li < 1) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
                }
                netal = EXTRACT_U_1(pptr);
                pptr++;
-               ND_TCHECK2(*pptr, netal);
+               ND_TCHECK_LEN(pptr, netal);
                if (li < netal) {
                        ND_PRINT((ndo, ", bad redirect/li"));
                        return;
@@ -1240,7 +1240,7 @@ esis_print(netdissect_options *ndo,
        }
 
        case ESIS_PDU_ESH:
-            ND_TCHECK(*pptr);
+            ND_TCHECK_1(pptr);
             if (li < 1) {
                 ND_PRINT((ndo, ", bad esh/li"));
                 return;
@@ -1252,7 +1252,7 @@ esis_print(netdissect_options *ndo,
             ND_PRINT((ndo, "\n\t  Number of Source Addresses: %u", source_address_number));
 
             while (source_address_number > 0) {
-                ND_TCHECK(*pptr);
+                ND_TCHECK_1(pptr);
                if (li < 1) {
                     ND_PRINT((ndo, ", bad esh/li"));
                    return;
@@ -1261,7 +1261,7 @@ esis_print(netdissect_options *ndo,
                 pptr++;
                li--;
 
-                ND_TCHECK2(*pptr, source_address_length);
+                ND_TCHECK_LEN(pptr, source_address_length);
                if (li < source_address_length) {
                     ND_PRINT((ndo, ", bad esh/li"));
                    return;
@@ -1277,7 +1277,7 @@ esis_print(netdissect_options *ndo,
             break;
 
        case ESIS_PDU_ISH: {
-            ND_TCHECK(*pptr);
+            ND_TCHECK_1(pptr);
             if (li < 1) {
                 ND_PRINT((ndo, ", bad ish/li"));
                 return;
@@ -1285,7 +1285,7 @@ esis_print(netdissect_options *ndo,
             source_address_length = EXTRACT_U_1(pptr);
             pptr++;
             li--;
-            ND_TCHECK2(*pptr, source_address_length);
+            ND_TCHECK_LEN(pptr, source_address_length);
             if (li < source_address_length) {
                 ND_PRINT((ndo, ", bad ish/li"));
                 return;
@@ -1429,7 +1429,7 @@ isis_print_mt_port_cap_subtlv(netdissect_options *ndo,
     if (len < stlv_len)
       goto trunc;
     /* Make sure the entire subTLV is in the captured data */
-    ND_TCHECK2(*(tptr), stlv_len);
+    ND_TCHECK_LEN(tptr, stlv_len);
 
     switch (stlv_type)
     {
@@ -1548,7 +1548,7 @@ isis_print_mt_capability_subtlv(netdissect_options *ndo,
     if (len < stlv_len)
       goto trunc;
     /* Make sure the entire subTLV is in the captured data */
-    ND_TCHECK2(*(tptr), stlv_len);
+    ND_TCHECK_LEN(tptr, stlv_len);
 
     switch (stlv_type)
     {
@@ -1783,7 +1783,7 @@ isis_print_ip_reach_subtlv(netdissect_options *ndo,
               ident, tok2str(isis_ext_ip_reach_subtlv_values, "unknown", subt),
               subt, subl));
 
-    ND_TCHECK2(*tptr,subl);
+    ND_TCHECK_LEN(tptr, subl);
 
     switch(subt) {
     case ISIS_SUBTLV_EXTD_IP_REACH_MGMT_PREFIX_COLOR: /* fall through */
@@ -1839,7 +1839,7 @@ isis_print_is_reach_subtlv(netdissect_options *ndo,
                  ident, tok2str(isis_ext_is_reach_subtlv_values, "unknown", subt),
                  subt, subl));
 
-       ND_TCHECK2(*tptr, subl);
+       ND_TCHECK_LEN(tptr, subl);
 
         switch(subt) {
         case ISIS_SUBTLV_EXT_IS_REACH_ADMIN_GROUP:
@@ -1995,7 +1995,7 @@ isis_print_ext_is_reach(netdissect_options *ndo,
     int subtlv_type,subtlv_len,subtlv_sum_len;
     int proc_bytes = 0; /* how many bytes did we process ? */
 
-    if (!ND_TTEST2(*tptr, NODE_ID_LEN))
+    if (!ND_TTEST_LEN(tptr, NODE_ID_LEN))
         return(0);
 
     ND_PRINT((ndo, "%sIS Neighbor: %s", ident, isis_print_id(tptr, NODE_ID_LEN)));
@@ -2111,7 +2111,7 @@ isis_print_extd_ip_reach(netdissect_options *ndo,
 
     byte_length = (bit_length + 7) / 8; /* prefix has variable length encoding */
 
-    if (!ND_TTEST2(*tptr, byte_length))
+    if (!ND_TTEST_LEN(tptr, byte_length))
         return (0);
     memset(prefix, 0, sizeof prefix);   /* clear the copy buffer */
     memcpy(prefix,tptr,byte_length);    /* copy as much as is stored in the TLV */
@@ -2594,7 +2594,7 @@ isis_print(netdissect_options *ndo,
            alen = EXTRACT_U_1(tptr);
            tptr++;
            while (tmp && alen < tmp) {
-               ND_TCHECK2(*tptr, alen);
+               ND_TCHECK_LEN(tptr, alen);
                ND_PRINT((ndo, "\n\t      Area address (length: %u): %s",
                        alen,
                        isonsap_string(ndo, tptr, alen)));
@@ -2608,11 +2608,11 @@ isis_print(netdissect_options *ndo,
            }
            break;
        case ISIS_TLV_ISNEIGH:
-           while (tmp >= ETHER_ADDR_LEN) {
-                ND_TCHECK2(*tptr, ETHER_ADDR_LEN);
-                ND_PRINT((ndo, "\n\t      SNPA: %s", isis_print_id(tptr, ETHER_ADDR_LEN)));
-                tmp -= ETHER_ADDR_LEN;
-                tptr += ETHER_ADDR_LEN;
+           while (tmp >= MAC_ADDR_LEN) {
+                ND_TCHECK_LEN(tptr, MAC_ADDR_LEN);
+                ND_PRINT((ndo, "\n\t      SNPA: %s", isis_print_id(tptr, MAC_ADDR_LEN)));
+                tmp -= MAC_ADDR_LEN;
+                tptr += MAC_ADDR_LEN;
            }
            break;
 
@@ -2628,7 +2628,7 @@ isis_print(netdissect_options *ndo,
             tmp --;
             ND_PRINT((ndo, "\n\t      LAN address length %u bytes ", lan_alen));
            while (tmp >= lan_alen) {
-                ND_TCHECK2(*tptr, lan_alen);
+                ND_TCHECK_LEN(tptr, lan_alen);
                 ND_PRINT((ndo, "\n\t\tIS Neighbor: %s", isis_print_id(tptr, lan_alen)));
                 tmp -= lan_alen;
                 tptr +=lan_alen;
@@ -2766,7 +2766,7 @@ isis_print(netdissect_options *ndo,
 
        case ISIS_TLV_IP6ADDR:
            while (tmp>=sizeof(struct in6_addr)) {
-               ND_TCHECK2(*tptr, sizeof(struct in6_addr));
+               ND_TCHECK_LEN(tptr, sizeof(struct in6_addr));
 
                 ND_PRINT((ndo, "\n\t      IPv6 interface address: %s",
                       ip6addr_string(ndo, tptr)));
@@ -2835,7 +2835,7 @@ isis_print(netdissect_options *ndo,
                tmp-=sizeof(tlv_ptp_adj->extd_local_circuit_id);
            }
            if(tmp>=SYSTEM_ID_LEN) {
-               ND_TCHECK2(tlv_ptp_adj->neighbor_sysid, SYSTEM_ID_LEN);
+               ND_TCHECK_LEN(tlv_ptp_adj->neighbor_sysid, SYSTEM_ID_LEN);
                ND_PRINT((ndo, "\n\t      Neighbor System-ID: %s",
                       isis_print_id(tlv_ptp_adj->neighbor_sysid, SYSTEM_ID_LEN)));
                tmp-=SYSTEM_ID_LEN;
@@ -2898,13 +2898,13 @@ isis_print(netdissect_options *ndo,
       break;
 
        case ISIS_TLV_TE_ROUTER_ID:
-           ND_TCHECK2(*pptr, sizeof(struct in_addr));
+           ND_TCHECK_LEN(pptr, sizeof(struct in_addr));
            ND_PRINT((ndo, "\n\t      Traffic Engineering Router ID: %s", ipaddr_string(ndo, pptr)));
            break;
 
        case ISIS_TLV_IPADDR:
            while (tmp>=sizeof(struct in_addr)) {
-               ND_TCHECK2(*tptr, sizeof(struct in_addr));
+               ND_TCHECK_LEN(tptr, sizeof(struct in_addr));
                ND_PRINT((ndo, "\n\t      IPv4 interface address: %s", ipaddr_string(ndo, tptr)));
                tptr += sizeof(struct in_addr);
                tmp -= sizeof(struct in_addr);
@@ -2920,7 +2920,7 @@ isis_print(netdissect_options *ndo,
        case ISIS_TLV_SHARED_RISK_GROUP:
            if (tmp < NODE_ID_LEN)
                break;
-           ND_TCHECK2(*tptr, NODE_ID_LEN);
+           ND_TCHECK_LEN(tptr, NODE_ID_LEN);
            ND_PRINT((ndo, "\n\t      IS Neighbor: %s", isis_print_id(tptr, NODE_ID_LEN)));
            tptr+=NODE_ID_LEN;
            tmp-=NODE_ID_LEN;
@@ -2934,14 +2934,14 @@ isis_print(netdissect_options *ndo,
 
            if (tmp < sizeof(struct in_addr))
                break;
-           ND_TCHECK2(*tptr, sizeof(struct in_addr));
+           ND_TCHECK_LEN(tptr, sizeof(struct in_addr));
            ND_PRINT((ndo, "\n\t      IPv4 interface address: %s", ipaddr_string(ndo, tptr)));
            tptr+=sizeof(struct in_addr);
            tmp-=sizeof(struct in_addr);
 
            if (tmp < sizeof(struct in_addr))
                break;
-           ND_TCHECK2(*tptr, sizeof(struct in_addr));
+           ND_TCHECK_LEN(tptr, sizeof(struct in_addr));
            ND_PRINT((ndo, "\n\t      IPv4 neighbor address: %s", ipaddr_string(ndo, tptr)));
            tptr+=sizeof(struct in_addr);
            tmp-=sizeof(struct in_addr);
@@ -2960,11 +2960,11 @@ isis_print(netdissect_options *ndo,
                ND_TCHECK((tlv_lsp->lsp_id)[LSP_ID_LEN-1]);
                ND_PRINT((ndo, "\n\t      lsp-id: %s",
                        isis_print_id(tlv_lsp->lsp_id, LSP_ID_LEN)));
-               ND_TCHECK2(tlv_lsp->sequence_number, 4);
+               ND_TCHECK_LEN(tlv_lsp->sequence_number, 4);
                ND_PRINT((ndo, ", seq: 0x%08x", EXTRACT_BE_U_4(tlv_lsp->sequence_number)));
-               ND_TCHECK2(tlv_lsp->remaining_lifetime, 2);
+               ND_TCHECK_LEN(tlv_lsp->remaining_lifetime, 2);
                ND_PRINT((ndo, ", lifetime: %5ds", EXTRACT_BE_U_2(tlv_lsp->remaining_lifetime)));
-               ND_TCHECK2(tlv_lsp->checksum, 2);
+               ND_TCHECK_LEN(tlv_lsp->checksum, 2);
                ND_PRINT((ndo, ", chksum: 0x%04x", EXTRACT_BE_U_2(tlv_lsp->checksum)));
                tmp-=sizeof(struct isis_tlv_lsp);
                tlv_lsp++;
@@ -2974,7 +2974,7 @@ isis_print(netdissect_options *ndo,
        case ISIS_TLV_CHECKSUM:
            if (tmp < ISIS_TLV_CHECKSUM_MINLEN)
                break;
-           ND_TCHECK2(*tptr, ISIS_TLV_CHECKSUM_MINLEN);
+           ND_TCHECK_LEN(tptr, ISIS_TLV_CHECKSUM_MINLEN);
            ND_PRINT((ndo, "\n\t      checksum: 0x%04x ", EXTRACT_BE_U_2(tptr)));
             /* do not attempt to verify the checksum if it is zero
              * most likely a HMAC-MD5 TLV is also present and
@@ -2987,13 +2987,13 @@ isis_print(netdissect_options *ndo,
 
        case ISIS_TLV_POI:
            if (tlv_len >= SYSTEM_ID_LEN + 1) {
-               ND_TCHECK2(*tptr, SYSTEM_ID_LEN + 1);
+               ND_TCHECK_LEN(tptr, SYSTEM_ID_LEN + 1);
                ND_PRINT((ndo, "\n\t      Purge Originator System-ID: %s",
                       isis_print_id(tptr + 1, SYSTEM_ID_LEN)));
            }
 
            if (tlv_len == 2 * SYSTEM_ID_LEN + 1) {
-               ND_TCHECK2(*tptr, 2 * SYSTEM_ID_LEN + 1);
+               ND_TCHECK_LEN(tptr, 2 * SYSTEM_ID_LEN + 1);
                ND_PRINT((ndo, "\n\t      Received from System-ID: %s",
                       isis_print_id(tptr + SYSTEM_ID_LEN + 1, SYSTEM_ID_LEN)));
            }
@@ -3022,7 +3022,7 @@ isis_print(netdissect_options *ndo,
             /* first attempt to decode the flags */
             if (tmp < ISIS_TLV_RESTART_SIGNALING_FLAGLEN)
                 break;
-            ND_TCHECK2(*tptr, ISIS_TLV_RESTART_SIGNALING_FLAGLEN);
+            ND_TCHECK_LEN(tptr, ISIS_TLV_RESTART_SIGNALING_FLAGLEN);
             ND_PRINT((ndo, "\n\t      Flags [%s]",
                    bittok2str(isis_restart_flag_values, "none", EXTRACT_U_1(tptr))));
             tptr+=ISIS_TLV_RESTART_SIGNALING_FLAGLEN;
@@ -3034,7 +3034,7 @@ isis_print(netdissect_options *ndo,
 
             if (tmp < ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN)
                 break;
-            ND_TCHECK2(*tptr, ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN);
+            ND_TCHECK_LEN(tptr, ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN);
 
             ND_PRINT((ndo, ", Remaining holding time %us", EXTRACT_BE_U_2(tptr)));
             tptr+=ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN;
@@ -3042,7 +3042,7 @@ isis_print(netdissect_options *ndo,
 
             /* is there an additional sysid field present ?*/
             if (tmp == SYSTEM_ID_LEN) {
-                    ND_TCHECK2(*tptr, SYSTEM_ID_LEN);
+                    ND_TCHECK_LEN(tptr, SYSTEM_ID_LEN);
                     ND_PRINT((ndo, ", for %s", isis_print_id(tptr,SYSTEM_ID_LEN)));
             }
            break;
@@ -3050,7 +3050,7 @@ isis_print(netdissect_options *ndo,
         case ISIS_TLV_IDRP_INFO:
            if (tmp < ISIS_TLV_IDRP_INFO_MINLEN)
                break;
-            ND_TCHECK2(*tptr, ISIS_TLV_IDRP_INFO_MINLEN);
+            ND_TCHECK_LEN(tptr, ISIS_TLV_IDRP_INFO_MINLEN);
             ND_PRINT((ndo, "\n\t      Inter-Domain Information Type: %s",
                    tok2str(isis_subtlv_idrp_values,
                            "Unknown (0x%02x)",
@@ -3074,13 +3074,13 @@ isis_print(netdissect_options *ndo,
         case ISIS_TLV_LSP_BUFFERSIZE:
            if (tmp < ISIS_TLV_LSP_BUFFERSIZE_MINLEN)
                break;
-            ND_TCHECK2(*tptr, ISIS_TLV_LSP_BUFFERSIZE_MINLEN);
+            ND_TCHECK_LEN(tptr, ISIS_TLV_LSP_BUFFERSIZE_MINLEN);
             ND_PRINT((ndo, "\n\t      LSP Buffersize: %u", EXTRACT_BE_U_2(tptr)));
             break;
 
         case ISIS_TLV_PART_DIS:
             while (tmp >= SYSTEM_ID_LEN) {
-                ND_TCHECK2(*tptr, SYSTEM_ID_LEN);
+                ND_TCHECK_LEN(tptr, SYSTEM_ID_LEN);
                 ND_PRINT((ndo, "\n\t      %s", isis_print_id(tptr, SYSTEM_ID_LEN)));
                 tptr+=SYSTEM_ID_LEN;
                 tmp-=SYSTEM_ID_LEN;
@@ -3090,7 +3090,7 @@ isis_print(netdissect_options *ndo,
         case ISIS_TLV_PREFIX_NEIGH:
            if (tmp < sizeof(struct isis_metric_block))
                break;
-            ND_TCHECK2(*tptr, sizeof(struct isis_metric_block));
+            ND_TCHECK_LEN(tptr, sizeof(struct isis_metric_block));
             ND_PRINT((ndo, "\n\t      Metric Block"));
             isis_print_metric_block(ndo, (const struct isis_metric_block *)tptr);
             tptr+=sizeof(struct isis_metric_block);
@@ -3107,7 +3107,7 @@ isis_print(netdissect_options *ndo,
                 tmp--;
                 if (tmp < prefix_len/2)
                     break;
-                ND_TCHECK2(*tptr, prefix_len / 2);
+                ND_TCHECK_LEN(tptr, prefix_len / 2);
                 ND_PRINT((ndo, "\n\t\tAddress: %s/%u",
                        isonsap_string(ndo, tptr, prefix_len / 2), prefix_len * 4));
                 tptr+=prefix_len/2;
@@ -3118,14 +3118,14 @@ isis_print(netdissect_options *ndo,
         case ISIS_TLV_IIH_SEQNR:
            if (tmp < ISIS_TLV_IIH_SEQNR_MINLEN)
                break;
-            ND_TCHECK2(*tptr, ISIS_TLV_IIH_SEQNR_MINLEN); /* check if four bytes are on the wire */
+            ND_TCHECK_LEN(tptr, ISIS_TLV_IIH_SEQNR_MINLEN); /* check if four bytes are on the wire */
             ND_PRINT((ndo, "\n\t      Sequence number: %u", EXTRACT_BE_U_4(tptr)));
             break;
 
         case ISIS_TLV_VENDOR_PRIVATE:
            if (tmp < ISIS_TLV_VENDOR_PRIVATE_MINLEN)
                break;
-            ND_TCHECK2(*tptr, ISIS_TLV_VENDOR_PRIVATE_MINLEN); /* check if enough byte for a full oui */
+            ND_TCHECK_LEN(tptr, ISIS_TLV_VENDOR_PRIVATE_MINLEN); /* check if enough byte for a full oui */
             vendor_id = EXTRACT_BE_U_3(tptr);
             ND_PRINT((ndo, "\n\t      Vendor: %s (%u)",
                    tok2str(oui_values, "Unknown", vendor_id),
@@ -3193,7 +3193,7 @@ osi_print_cksum(netdissect_options *ndo, const uint8_t *pptr,
             || checksum_offset < 0
             || !ND_TTEST_2(pptr + checksum_offset)
             || (u_int)checksum_offset > length
-            || !ND_TTEST2(*pptr, length)) {
+            || !ND_TTEST_LEN(pptr, length)) {
                 ND_PRINT((ndo, " (unverified)"));
         } else {
 #if 0