]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Use more the ND_TCHECK_1() macro
authorFrancois-Xavier Le Bail <[email protected]>
Sun, 3 Dec 2017 17:18:58 +0000 (18:18 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Mon, 4 Dec 2017 16:50:29 +0000 (17:50 +0100)
13 files changed:
print-atm.c
print-bgp.c
print-carp.c
print-icmp6.c
print-ip.c
print-isakmp.c
print-juniper.c
print-mobility.c
print-pim.c
print-smb.c
print-stp.c
print-vrrp.c
smbutil.c

index 43f61fcdef1ae4d6351ca17c291c2a5f1920d975..616bc4f892cba46c0494e0994ae8f2c761540c1e 100644 (file)
@@ -349,14 +349,14 @@ sig_print(netdissect_options *ndo,
 {
        uint32_t call_ref;
 
-       ND_TCHECK(p[PROTO_POS]);
+       ND_TCHECK_1(p + PROTO_POS);
        if (EXTRACT_U_1(p + PROTO_POS) == Q2931) {
                /*
                 * protocol:Q.2931 for User to Network Interface
                 * (UNI 3.1) signalling
                 */
                ND_PRINT((ndo, "Q.2931"));
-               ND_TCHECK(p[MSG_TYPE_POS]);
+               ND_TCHECK_1(p + MSG_TYPE_POS);
                ND_PRINT((ndo, ":%s ",
                    tok2str(msgtype2str, "msgtype#%d", EXTRACT_U_1(p + MSG_TYPE_POS))));
 
index 4c9992d09e97c2cba18888ebb202d61cecceed85..9704081c478e25901fce334362a33cb8a0e198e9 100644 (file)
@@ -538,7 +538,7 @@ decode_prefix4(netdissect_options *ndo,
        struct in_addr addr;
        u_int plen, plenbytes;
 
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        ITEMCHECK(1);
        plen = pptr[0];
        if (32 < plen)
@@ -770,7 +770,7 @@ decode_rt_routing_info(netdissect_options *ndo,
        char asbuf[sizeof(astostr)]; /* bgp_vpn_rd_print() overwrites astostr */
 
        /* NLRI "prefix length" from RFC 2858 Section 4. */
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        plen = pptr[0];   /* get prefix length */
 
        /* NLRI "prefix" (ibid), valid lengths are { 0, 32, 33, ..., 96 } bits.
@@ -824,7 +824,7 @@ decode_labeled_vpn_prefix4(netdissect_options *ndo,
        struct in_addr addr;
        u_int plen;
 
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        plen = pptr[0];   /* get prefix length */
 
        if ((24+64) > plen)
@@ -876,7 +876,7 @@ decode_mdt_vpn_nlri(netdissect_options *ndo,
     const u_char *rd;
     const u_char *vpn_ip;
 
-    ND_TCHECK(pptr[0]);
+    ND_TCHECK_1(pptr);
 
     /* if the NLRI is not predefined length, quit.*/
     if (EXTRACT_U_1(pptr) != MDT_VPN_NLRI_LEN * 8)
@@ -1096,7 +1096,7 @@ decode_labeled_vpn_l2(netdissect_options *ndo,
                    }
                    ttlv_len=ttlv_len/8+1; /* how many bytes do we need to read ? */
                    while (ttlv_len>0) {
-                       ND_TCHECK(pptr[0]);
+                       ND_TCHECK_1(pptr);
                        if (buflen!=0) {
                            stringlen=snprintf(buf,buflen, "%02x",
                                                EXTRACT_U_1(pptr));
@@ -1136,7 +1136,7 @@ decode_prefix6(netdissect_options *ndo,
        struct in6_addr addr;
        u_int plen, plenbytes;
 
-       ND_TCHECK(pd[0]);
+       ND_TCHECK_1(pd);
        ITEMCHECK(1);
        plen = pd[0];
        if (128 < plen)
@@ -1214,7 +1214,7 @@ decode_labeled_vpn_prefix6(netdissect_options *ndo,
        struct in6_addr addr;
        u_int plen;
 
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        plen = pptr[0];   /* get prefix length */
 
        if ((24+64) > plen)
@@ -1253,7 +1253,7 @@ decode_clnp_prefix(netdissect_options *ndo,
         uint8_t addr[19];
        u_int plen;
 
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        plen = pptr[0]; /* get prefix length */
 
        if (152 < plen)
@@ -1283,7 +1283,7 @@ decode_labeled_vpn_clnp_prefix(netdissect_options *ndo,
         uint8_t addr[19];
        u_int plen;
 
-       ND_TCHECK(pptr[0]);
+       ND_TCHECK_1(pptr);
        plen = pptr[0];   /* get prefix length */
 
        if ((24+64) > plen)
@@ -1342,7 +1342,7 @@ bgp_attr_get_as_size(netdissect_options *ndo,
      * each.
      */
     while (tptr < pptr + len) {
-        ND_TCHECK(tptr[0]);
+        ND_TCHECK_1(tptr);
 
         /*
          * If we do not find a valid segment type, our guess might be wrong.
@@ -1350,7 +1350,7 @@ bgp_attr_get_as_size(netdissect_options *ndo,
         if (EXTRACT_U_1(tptr) < BGP_AS_SEG_TYPE_MIN || EXTRACT_U_1(tptr) > BGP_AS_SEG_TYPE_MAX) {
             goto trunc;
         }
-        ND_TCHECK(tptr[1]);
+        ND_TCHECK_1(tptr + 1);
         tptr += 2 + tptr[1] * 2;
     }
 
@@ -1430,10 +1430,10 @@ bgp_attr_print(netdissect_options *ndo,
                 as_size = bgp_attr_get_as_size(ndo, atype, pptr, len);
 
                while (tptr < pptr + len) {
-                       ND_TCHECK(tptr[0]);
+                       ND_TCHECK_1(tptr);
                         ND_PRINT((ndo, "%s", tok2str(bgp_as_path_segment_open_values,
                                                "?", EXTRACT_U_1(tptr))));
-                       ND_TCHECK(tptr[1]);
+                       ND_TCHECK_1(tptr + 1);
                         for (i = 0; i < tptr[1] * as_size; i += as_size) {
                             ND_TCHECK2(tptr[2 + i], as_size);
                            ND_PRINT((ndo, "%s ",
@@ -1442,10 +1442,10 @@ bgp_attr_print(netdissect_options *ndo,
                                EXTRACT_BE_U_2(tptr + i + 2) :
                                EXTRACT_BE_U_4(tptr + i + 2))));
                         }
-                       ND_TCHECK(tptr[0]);
+                       ND_TCHECK_1(tptr);
                         ND_PRINT((ndo, "%s", tok2str(bgp_as_path_segment_close_values,
                                                "?", EXTRACT_U_1(tptr))));
-                        ND_TCHECK(tptr[1]);
+                        ND_TCHECK_1(tptr + 1);
                         tptr += 2 + tptr[1] * as_size;
                }
                break;
@@ -1605,7 +1605,7 @@ bgp_attr_print(netdissect_options *ndo,
 
                 tptr +=3;
 
-               ND_TCHECK(tptr[0]);
+               ND_TCHECK_1(tptr);
                nhlen = tptr[0];
                 tlen = nhlen;
                 tptr++;
@@ -1738,14 +1738,14 @@ bgp_attr_print(netdissect_options *ndo,
                ND_PRINT((ndo, ", nh-length: %u", nhlen));
                tptr += tlen;
 
-               ND_TCHECK(tptr[0]);
+               ND_TCHECK_1(tptr);
                snpa = tptr[0];
                tptr++;
 
                if (snpa) {
                        ND_PRINT((ndo, "\n\t    %u SNPA", snpa));
                        for (/*nothing*/; snpa > 0; snpa--) {
-                               ND_TCHECK(tptr[0]);
+                               ND_TCHECK_1(tptr);
                                ND_PRINT((ndo, "\n\t      %d bytes", EXTRACT_U_1(tptr)));
                                tptr += tptr[0] + 1;
                        }
index 45ed4f0fcb5318d2ee6144cb76bf17fc9ebcdb34..622d308e9fb03eeb6a5e4f6fb4214f62ed9b41a4 100644 (file)
@@ -51,7 +51,7 @@ carp_print(netdissect_options *ndo, register const u_char *bp, register u_int le
        int version, type;
        const char *type_s;
 
-       ND_TCHECK(bp[0]);
+       ND_TCHECK_1(bp);
        version = (bp[0] & 0xf0) >> 4;
        type = bp[0] & 0x0f;
        if (type == 1)
@@ -63,8 +63,8 @@ carp_print(netdissect_options *ndo, register const u_char *bp, register u_int le
                ND_PRINT((ndo, "[ttl=%d!] ", ttl));
        if (version != 2 || type != 1)
                return;
-       ND_TCHECK(bp[2]);
-       ND_TCHECK(bp[5]);
+       ND_TCHECK_1(bp + 2);
+       ND_TCHECK_1(bp + 5);
        ND_PRINT((ndo, "vhid=%d advbase=%d advskew=%d authlen=%d ",
            EXTRACT_U_1(bp + 1), EXTRACT_U_1(bp + 5), EXTRACT_U_1(bp + 2), EXTRACT_U_1(bp + 3)));
        if (ndo->ndo_vflag) {
index df8935675d6bb7d9206d371150b7bf3a3460c3f9..dabec424693d007a07f1abf5404fefe09a32d429 100644 (file)
@@ -1490,7 +1490,7 @@ mldv2_query_print(netdissect_options *ndo, const u_char *bp, u_int len)
     ND_PRINT((ndo," [gaddr %s", ip6addr_string(ndo, bp + 8)));
 
     if (ndo->ndo_vflag) {
-        ND_TCHECK(bp[25]);
+        ND_TCHECK_1(bp + 25);
        if (EXTRACT_U_1(bp + 24) & 0x08) {
                ND_PRINT((ndo," sflag"));
        }
@@ -1756,7 +1756,7 @@ icmp6_nodeinfo_print(netdissect_options *ndo, u_int icmp6len, const u_char *bp,
                                ND_PRINT((ndo,", "));
                        ND_PRINT((ndo,"DNS name"));
                        cp = (const u_char *)(ni6 + 1) + 4;
-                       ND_TCHECK(cp[0]);
+                       ND_TCHECK_1(cp);
                        if (EXTRACT_U_1(cp) == ep - cp - 1) {
                                /* icmp-name-lookup-03, pascal string */
                                if (ndo->ndo_vflag)
index 1caa93c4e26046d9ffd864cc8870627ffeba5771..9be07f2029fe0f702d7f347d03cd6494d87005c0 100644 (file)
@@ -67,7 +67,7 @@ ip_printroute(netdissect_options *ndo,
        }
        if ((length + 1) & 3)
                ND_PRINT((ndo, " [bad length %u]", length));
-       ND_TCHECK(cp[2]);
+       ND_TCHECK_1(cp + 2);
        ptr = cp[2] - 1;
        if (ptr < 3 || ((ptr + 1) & 3) || ptr > length + 1)
                ND_PRINT((ndo, " [bad ptr %u]", EXTRACT_U_1(cp + 2)));
@@ -113,7 +113,7 @@ ip_finddst(netdissect_options *ndo,
                else if (tt == IPOPT_NOP)
                        len = 1;
                else {
-                       ND_TCHECK(cp[1]);
+                       ND_TCHECK_1(cp + 1);
                        len = cp[1];
                        if (len < 2)
                                break;
@@ -185,12 +185,12 @@ ip_printts(netdissect_options *ndo,
        hoplen = ((cp[3]&0xF) != IPOPT_TS_TSONLY) ? 8 : 4;
        if ((length - 4) & (hoplen-1))
                ND_PRINT((ndo, "[bad length %u]", length));
-       ND_TCHECK(cp[2]);
+       ND_TCHECK_1(cp + 2);
        ptr = cp[2] - 1;
        len = 0;
        if (ptr < 4 || ((ptr - 4) & (hoplen-1)) || ptr > length + 1)
                ND_PRINT((ndo, "[bad ptr %u]", EXTRACT_U_1(cp + 2)));
-       ND_TCHECK(cp[3]);
+       ND_TCHECK_1(cp + 3);
        switch (EXTRACT_U_1(cp + 3)&0xF) {
        case IPOPT_TS_TSONLY:
                ND_PRINT((ndo, "TSONLY"));
@@ -265,7 +265,7 @@ ip_optprint(netdissect_options *ndo,
                        option_len = 1;
 
                else {
-                       ND_TCHECK(cp[1]);
+                       ND_TCHECK_1(cp + 1);
                        option_len = cp[1];
                        if (option_len < 2) {
                                ND_PRINT((ndo, " [bad length %u]", option_len));
@@ -301,7 +301,7 @@ ip_optprint(netdissect_options *ndo,
                                ND_PRINT((ndo, " [bad length %u]", option_len));
                                break;
                        }
-                       ND_TCHECK(cp[3]);
+                       ND_TCHECK_1(cp + 3);
                        if (EXTRACT_BE_U_2(cp + 2) != 0)
                                ND_PRINT((ndo, " value %u", EXTRACT_BE_U_2(cp + 2)));
                        break;
index 641ee734734d59310593fb8b1f5de029a54a3f73..ba1f8fec2cc0db25ec23c9dd5dcdb595033ed36f 100644 (file)
@@ -918,7 +918,7 @@ ikev1_attrmap_print(netdissect_options *ndo,
        int totlen;
        uint32_t t, v;
 
-       ND_TCHECK(p[0]);
+       ND_TCHECK_1(p);
        if (EXTRACT_U_1(p) & 0x80)
                totlen = 4;
        else {
@@ -969,7 +969,7 @@ ikev1_attr_print(netdissect_options *ndo, const u_char *p, const u_char *ep2)
        int totlen;
        uint32_t t;
 
-       ND_TCHECK(p[0]);
+       ND_TCHECK_1(p);
        if (EXTRACT_U_1(p) & 0x80)
                totlen = 4;
        else {
@@ -3095,7 +3095,7 @@ isakmp_rfc3948_print(netdissect_options *ndo,
                     const u_char *bp, u_int length,
                     const u_char *bp2)
 {
-       ND_TCHECK(bp[0]);
+       ND_TCHECK_1(bp);
        if(length == 1 && EXTRACT_U_1(bp)==0xff) {
                ND_PRINT((ndo, "isakmp-nat-keep-alive"));
                return;
@@ -3104,7 +3104,7 @@ isakmp_rfc3948_print(netdissect_options *ndo,
        if(length < 4) {
                goto trunc;
        }
-       ND_TCHECK(bp[3]);
+       ND_TCHECK_1(bp + 3);
 
        /*
         * see if this is an IKE packet
index e36b0a8f970e25838fa42c29f23a260e0058982a..f6597cd95840ed4982bab15ce15ce1807c86ecb6 100644 (file)
@@ -1317,7 +1317,7 @@ juniper_parse_header(netdissect_options *ndo,
     l2info->caplen -= l2info->header_len;
 
     /* search through the cookie table and copy values matching for our PIC type */
-    ND_TCHECK(p[0]);
+    ND_TCHECK_1(p);
     while (lp->s != NULL) {
         if (lp->pictype == l2info->pictype) {
 
index 7696443633cb052b3f542df434f58c3ddafb7a47..61768a9ed696f8198f1fe31788742f4e91075e5e 100644 (file)
@@ -118,12 +118,12 @@ mobility_opt_print(netdissect_options *ndo,
        unsigned i, optlen;
 
        for (i = 0; i < len; i += optlen) {
-               ND_TCHECK(bp[i]);
+               ND_TCHECK_1(bp + i);
                if (EXTRACT_U_1(bp + i) == IP6MOPT_PAD1)
                        optlen = 1;
                else {
                        if (i + 1 < len) {
-                               ND_TCHECK(bp[i + 1]);
+                               ND_TCHECK_1(bp + i + 1);
                                optlen = bp[i + 1] + 2;
                        }
                        else
@@ -131,7 +131,7 @@ mobility_opt_print(netdissect_options *ndo,
                }
                if (i + optlen > len)
                        goto trunc;
-               ND_TCHECK(bp[i + optlen]);
+               ND_TCHECK_1(bp + i + optlen);
 
                switch (EXTRACT_U_1(bp + i)) {
                case IP6MOPT_PAD1:
index 8c3028291c3177cea9c46850b840f6373083f831..ee04fbd333aaab2751ed1a228fca36295ba15ff7 100644 (file)
@@ -253,7 +253,7 @@ pimv1_print(netdissect_options *ndo,
 {
        register u_char type;
 
-       ND_TCHECK(bp[1]);
+       ND_TCHECK_1(bp + 1);
        type = bp[1];
 
        ND_PRINT((ndo, " %s", tok2str(pimv1_type_str, "[type %u]", type)));
@@ -325,7 +325,7 @@ pimv1_print(netdissect_options *ndo,
                }
                break;
        }
-       ND_TCHECK(bp[4]);
+       ND_TCHECK_1(bp + 4);
        if ((EXTRACT_U_1(bp + 4) >> 4) != 1)
                ND_PRINT((ndo, " [v%d]", EXTRACT_U_1(bp + 4) >> 4));
        return;
@@ -351,7 +351,7 @@ cisco_autorp_print(netdissect_options *ndo,
 
        if (len < 8)
                goto trunc;
-       ND_TCHECK(bp[0]);
+       ND_TCHECK_1(bp);
        ND_PRINT((ndo, " auto-rp "));
        type = bp[0];
        switch (type) {
@@ -366,7 +366,7 @@ cisco_autorp_print(netdissect_options *ndo,
                break;
        }
 
-       ND_TCHECK(bp[1]);
+       ND_TCHECK_1(bp + 1);
        numrps = bp[1];
 
        ND_TCHECK_2(bp + 2);
@@ -406,7 +406,7 @@ cisco_autorp_print(netdissect_options *ndo,
                len -= 4;
                if (len < 1)
                        goto trunc;
-               ND_TCHECK(bp[0]);
+               ND_TCHECK_1(bp);
                switch (EXTRACT_U_1(bp) & 0x3) {
                case 0: ND_PRINT((ndo, " PIMv?"));
                        break;
@@ -423,7 +423,7 @@ cisco_autorp_print(netdissect_options *ndo,
                len -= 1;
                if (len < 1)
                        goto trunc;
-               ND_TCHECK(bp[0]);
+               ND_TCHECK_1(bp);
                nentries = bp[0];
                bp += 1;
                len -= 1;
@@ -566,7 +566,7 @@ pimv2_addr_print(netdissect_options *ndo,
        if (addr_len == 0) {
                if (len < 2)
                        goto trunc;
-               ND_TCHECK(bp[1]);
+               ND_TCHECK_1(bp + 1);
                switch (EXTRACT_U_1(bp)) {
                case 1:
                        af = AF_INET;
@@ -1029,11 +1029,11 @@ pimv2_print(netdissect_options *ndo,
                len -= 2;
                if (len < 1)
                        goto trunc;
-               ND_TCHECK(bp[0]);
+               ND_TCHECK_1(bp);
                ND_PRINT((ndo, " hashmlen=%d", EXTRACT_U_1(bp)));
                if (len < 2)
                        goto trunc;
-               ND_TCHECK(bp[2]);
+               ND_TCHECK_1(bp + 2);
                ND_PRINT((ndo, " BSRprio=%d", EXTRACT_U_1(bp + 1)));
                bp += 2;
                len -= 2;
@@ -1056,11 +1056,11 @@ pimv2_print(netdissect_options *ndo,
                        /* RP-Count, Frag RP-Cnt, and rsvd */
                        if (len < 1)
                                goto trunc;
-                       ND_TCHECK(bp[0]);
+                       ND_TCHECK_1(bp);
                        ND_PRINT((ndo, " RPcnt=%d", EXTRACT_U_1(bp)));
                        if (len < 2)
                                goto trunc;
-                       ND_TCHECK(bp[1]);
+                       ND_TCHECK_1(bp + 1);
                        ND_PRINT((ndo, " FRPcnt=%d", frpcnt = EXTRACT_U_1(bp + 1)));
                        if (len < 4)
                                goto trunc;
@@ -1086,7 +1086,7 @@ pimv2_print(netdissect_options *ndo,
                                                     EXTRACT_BE_U_2(bp));
                                if (len < 3)
                                        goto trunc;
-                               ND_TCHECK(bp[2]);
+                               ND_TCHECK_1(bp + 2);
                                ND_PRINT((ndo, ",prio=%d", EXTRACT_U_1(bp + 2)));
                                if (len < 4)
                                        goto trunc;
@@ -1122,12 +1122,12 @@ pimv2_print(netdissect_options *ndo,
                /* Prefix-Cnt, Priority, and Holdtime */
                if (len < 1)
                        goto trunc;
-               ND_TCHECK(bp[0]);
+               ND_TCHECK_1(bp);
                ND_PRINT((ndo, " prefix-cnt=%d", EXTRACT_U_1(bp)));
                pfxcnt = bp[0];
                if (len < 2)
                        goto trunc;
-               ND_TCHECK(bp[1]);
+               ND_TCHECK_1(bp + 1);
                ND_PRINT((ndo, " prio=%d", EXTRACT_U_1(bp + 1)));
                if (len < 4)
                        goto trunc;
index 89f0fd6b8a0f89d9e40a05be56148562768ac989..a4d0c931cf7da4953f01d212af4ab9e2897b0d41 100644 (file)
@@ -179,7 +179,7 @@ print_trans2(netdissect_options *ndo,
     const char *f1 = NULL, *f2 = NULL;
     int pcnt, dcnt;
 
-    ND_TCHECK(words[0]);
+    ND_TCHECK_1(words);
     if (request) {
        ND_TCHECK_2(w + (14 * 2));
        pcnt = EXTRACT_LE_U_2(w + 9 * 2);
@@ -244,7 +244,7 @@ print_browse(netdissect_options *ndo,
     const u_char *maxbuf = data + datalen;
     int command;
 
-    ND_TCHECK(data[0]);
+    ND_TCHECK_1(data);
     command = data[0];
 
     smb_fdata(ndo, param, "BROWSE PACKET\n|Param ", param+paramlen, unicodestr);
@@ -400,7 +400,7 @@ print_negprot(netdissect_options *ndo,
     u_int wct, bcc;
     const char *f1 = NULL, *f2 = NULL;
 
-    ND_TCHECK(words[0]);
+    ND_TCHECK_1(words);
     wct = words[0];
     if (request)
        f2 = "*|Dialect=[Y]\n";
@@ -442,7 +442,7 @@ print_sesssetup(netdissect_options *ndo,
     u_int wct, bcc;
     const char *f1 = NULL, *f2 = NULL;
 
-    ND_TCHECK(words[0]);
+    ND_TCHECK_1(words);
     wct = words[0];
     if (request) {
        if (wct == 10)
@@ -488,11 +488,11 @@ print_lockingandx(netdissect_options *ndo,
     const u_char *maxwords;
     const char *f1 = NULL, *f2 = NULL;
 
-    ND_TCHECK(words[0]);
+    ND_TCHECK_1(words);
     wct = words[0];
     if (request) {
        f1 = "Com2=[w]\nOff2=[d]\nHandle=[d]\nLockType=[w]\nTimeOut=[D]\nUnlockCount=[d]\nLockCount=[d]\n";
-       ND_TCHECK(words[7]);
+       ND_TCHECK_1(words + 7);
        if (EXTRACT_U_1(words + 7) & 0x10)
            f2 = "*Process=[d]\n[P2]Offset=[M]\nLength=[M]\n";
        else
@@ -807,7 +807,7 @@ print_smb(netdissect_options *ndo,
         "[P4]SMB Command   =  [B]\nError class   =  [BP1]\nError code    =  [d]\nFlags1        =  [B]\nFlags2        =  [B][P13]\nTree ID       =  [d]\nProc ID       =  [d]\nUID           =  [d]\nMID           =  [d]\nWord Count    =  [b]\n";
     int smboffset;
 
-    ND_TCHECK(buf[9]);
+    ND_TCHECK_1(buf + 9);
     request = (buf[9] & 0x80) ? 0 : 1;
     startbuf = buf;
 
@@ -850,7 +850,7 @@ print_smb(netdissect_options *ndo,
        int newsmboffset;
 
        words = buf + smboffset;
-       ND_TCHECK(words[0]);
+       ND_TCHECK_1(words);
        wct = words[0];
        data = words + 1 + wct * 2;
        maxwords = min(data, maxbuf);
@@ -899,7 +899,7 @@ print_smb(netdissect_options *ndo,
            break;
        if (wct == 0)
            break;
-       ND_TCHECK(words[1]);
+       ND_TCHECK_1(words + 1);
        command = words[1];
        if (command == 0xFF)
            break;
@@ -1385,7 +1385,7 @@ netbeui_print(netdissect_options *ndo,
 
     if (maxbuf > ndo->ndo_snapend)
        maxbuf = ndo->ndo_snapend;
-    ND_TCHECK(data[4]);
+    ND_TCHECK_1(data + 4);
     len = EXTRACT_LE_U_2(data);
     command = data[4];
     data2 = data + len;
index ff8ba848a1e71b3cf164a5da715a96b9ab2214c1..f0b24f76683e38d2193342ec469f1ccaf825cff0 100644 (file)
@@ -305,7 +305,7 @@ stp_print_mstp_bpdu(netdissect_options *ndo, const struct stp_bpdu_ *stp_bpdu,
     ND_PRINT((ndo, "\n\tCIST bridge-id %s, ",
            stp_print_bridge_id(ptr + MST_BPDU_CIST_BRIDGE_ID_OFFSET)));
 
-    ND_TCHECK(ptr[MST_BPDU_CIST_REMAIN_HOPS_OFFSET]);
+    ND_TCHECK_1(ptr + MST_BPDU_CIST_REMAIN_HOPS_OFFSET);
     ND_PRINT((ndo, "CIST remaining-hops %d", EXTRACT_U_1(ptr + MST_BPDU_CIST_REMAIN_HOPS_OFFSET)));
 
     /* Dump all MSTI's */
index fe3104f92dd57e99ce3cb4a208f002128c066196..f02b28bde3dc44236b7e80ddd12aa075174bc02a 100644 (file)
@@ -110,7 +110,7 @@ vrrp_print(netdissect_options *ndo,
        int version, type, auth_type = VRRP_AUTH_NONE; /* keep compiler happy */
        const char *type_s;
 
-       ND_TCHECK(bp[0]);
+       ND_TCHECK_1(bp);
        version = (bp[0] & 0xf0) >> 4;
        type = bp[0] & 0x0f;
        type_s = tok2str(type2str, "unknown type (%u)", type);
@@ -119,9 +119,9 @@ vrrp_print(netdissect_options *ndo,
                ND_PRINT((ndo, ", (ttl %u)", ttl));
        if (version < 2 || version > 3 || type != VRRP_TYPE_ADVERTISEMENT)
                return;
-       ND_TCHECK(bp[2]);
+       ND_TCHECK_1(bp + 2);
        ND_PRINT((ndo, ", vrid %u, prio %u", EXTRACT_U_1(bp + 1), EXTRACT_U_1(bp + 2)));
-       ND_TCHECK(bp[5]);
+       ND_TCHECK_1(bp + 5);
 
        if (version == 2) {
                auth_type = bp[4];
@@ -162,13 +162,13 @@ vrrp_print(netdissect_options *ndo,
                c = ' ';
                bp += 8;
                for (i = 0; i < naddrs; i++) {
-                       ND_TCHECK(bp[3]);
+                       ND_TCHECK_1(bp + 3);
                        ND_PRINT((ndo, "%c%s", c, ipaddr_string(ndo, bp)));
                        c = ',';
                        bp += 4;
                }
                if (version == 2 && auth_type == VRRP_AUTH_SIMPLE) { /* simple text password */
-                       ND_TCHECK(bp[7]);
+                       ND_TCHECK_1(bp + 7);
                        ND_PRINT((ndo, " auth \""));
                        if (fn_printn(ndo, bp, 8, ndo->ndo_snapend)) {
                                ND_PRINT((ndo, "\""));
index 54f3227b10108ddad075113e62562226c09fa0cf..0ec882339c1eab5739517e6e93e1cc3cf843cede 100644 (file)
--- a/smbutil.c
+++ b/smbutil.c
@@ -282,7 +282,7 @@ smb_print_data(netdissect_options *ndo, const unsigned char *buf, int len)
        return;
     ND_PRINT((ndo, "[%03X] ", i));
     for (i = 0; i < len; /*nothing*/) {
-        ND_TCHECK(buf[i]);
+        ND_TCHECK_1(buf + i);
        ND_PRINT((ndo, "%02X ", EXTRACT_U_1(buf + i) & 0xff));
        i++;
        if (i%8 == 0)
@@ -354,7 +354,7 @@ unistr(netdissect_options *ndo,
         * Skip padding that puts the string on an even boundary.
         */
        if (((s - startbuf) % 2) != 0) {
-           ND_TCHECK(s[0]);
+           ND_TCHECK_1(s);
            s++;
        }
     }
@@ -366,7 +366,7 @@ unistr(netdissect_options *ndo,
        sp = s;
        if (!use_unicode) {
            for (;;) {
-               ND_TCHECK(sp[0]);
+               ND_TCHECK_1(sp);
                *len += 1;
                if (EXTRACT_U_1(sp) == 0)
                    break;
@@ -391,7 +391,7 @@ unistr(netdissect_options *ndo,
     }
     if (!use_unicode) {
        while (strsize != 0) {
-          ND_TCHECK(s[0]);
+          ND_TCHECK_1(s);
            if (l >= MAX_UNISTR_SIZE)
                break;
            if (ND_ISPRINT(EXTRACT_U_1(s)))
@@ -444,7 +444,7 @@ smb_fdata1(netdissect_options *ndo,
     while (*fmt && buf<maxbuf) {
        switch (*fmt) {
        case 'a':
-           ND_TCHECK(buf[0]);
+           ND_TCHECK_1(buf);
            write_bits(ndo, EXTRACT_U_1(buf), attrib_fmt);
            buf++;
            fmt++;
@@ -472,7 +472,7 @@ smb_fdata1(netdissect_options *ndo,
            strncpy(bitfmt, fmt, l);
            bitfmt[l] = '\0';
            fmt = p + 1;
-           ND_TCHECK(buf[0]);
+           ND_TCHECK_1(buf);
            write_bits(ndo, EXTRACT_U_1(buf), bitfmt);
            buf++;
            break;
@@ -495,7 +495,7 @@ smb_fdata1(netdissect_options *ndo,
        case 'b':
          {
            unsigned int x;
-           ND_TCHECK(buf[0]);
+           ND_TCHECK_1(buf);
            x = buf[0];
            ND_PRINT((ndo, "%u (0x%x)", x, x));
            buf += 1;
@@ -554,7 +554,7 @@ smb_fdata1(netdissect_options *ndo,
        case 'B':
          {
            unsigned int x;
-           ND_TCHECK(buf[0]);
+           ND_TCHECK_1(buf);
            x = buf[0];
            ND_PRINT((ndo, "0x%X", x));
            buf += 1;
@@ -589,7 +589,7 @@ smb_fdata1(netdissect_options *ndo,
            switch (*fmt) {
 
            case 'b':
-               ND_TCHECK(buf[0]);
+               ND_TCHECK_1(buf);
                stringlen = buf[0];
                ND_PRINT((ndo, "%u", stringlen));
                buf += 1;
@@ -716,7 +716,7 @@ smb_fdata1(netdissect_options *ndo,
                    name_type_str(name_type)));
                break;
            case 2:
-               ND_TCHECK(buf[15]);
+               ND_TCHECK_1(buf + 15);
                name_type = buf[15];
                ND_PRINT((ndo, "%-15.15s NameType=0x%02X (%s)", buf, name_type,
                    name_type_str(name_type)));