]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Use the EXTRACT_U_1() macro in some utility functions
authorFrancois-Xavier Le Bail <[email protected]>
Sun, 28 Jan 2018 13:18:51 +0000 (14:18 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Sun, 28 Jan 2018 13:18:51 +0000 (14:18 +0100)
print-ascii.c
util-print.c

index 812e76777254b0a5010f8400fdc2e648a9953f0b..bd87f6ac7ffb2e03c0eff49661e7002ea7fbaa19 100644 (file)
@@ -110,8 +110,10 @@ hex_and_ascii_print_with_offset(netdissect_options *ndo, const char *ident,
        i = 0;
        hsp = hexstuff; asp = asciistuff;
        while (--nshorts >= 0) {
-               s1 = *cp++;
-               s2 = *cp++;
+               s1 = EXTRACT_U_1(cp);
+               cp++;
+               s2 = EXTRACT_U_1(cp);
+               cp++;
                (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff),
                    " %02x%02x", s1, s2);
                hsp += HEXDUMP_HEXSTUFF_PER_SHORT;
@@ -128,7 +130,8 @@ hex_and_ascii_print_with_offset(netdissect_options *ndo, const char *ident,
                }
        }
        if (length & 1) {
-               s1 = *cp++;
+               s1 = EXTRACT_U_1(cp);
+               cp++;
                (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff),
                    " %02x", s1);
                hsp += 3;
@@ -172,13 +175,15 @@ hex_print_with_offset(netdissect_options *ndo,
                        ND_PRINT("%s0x%04x: ", ident, oset);
                        oset += HEXDUMP_BYTES_PER_LINE;
                }
-               s = *cp++;
-               ND_PRINT(" %02x%02x", s, *cp++);
+               s = EXTRACT_U_1(cp);
+               cp++;
+               ND_PRINT(" %02x%02x", s, EXTRACT_U_1(cp));
+               cp++;
        }
        if (length & 1) {
                if ((i % 8) == 0)
                        ND_PRINT("%s0x%04x: ", ident, oset);
-               ND_PRINT(" %02x", *cp);
+               ND_PRINT(" %02x", EXTRACT_U_1(cp));
        }
 }
 
index 6c62a6d3943160f784f94ba339742180382f4c87..82f450c67ea2de3c61b259ea8db57e35066198ab 100644 (file)
@@ -101,7 +101,8 @@ fn_print(netdissect_options *ndo,
 
        ret = 1;                        /* assume truncated */
        while (ep == NULL || s < ep) {
-               c = *s++;
+               c = EXTRACT_U_1(s);
+               s++;
                if (c == '\0') {
                        ret = 0;
                        break;
@@ -149,7 +150,8 @@ fn_printztn(netdissect_options *ndo,
                        break;
                }
 
-               c = *s++;
+               c = EXTRACT_U_1(s);
+               s++;
                bytes++;
                n--;
                if (c == '\0') {
@@ -183,7 +185,8 @@ fn_printn(netdissect_options *ndo,
 
        while (n > 0 && (ep == NULL || s < ep)) {
                n--;
-               c = *s++;
+               c = EXTRACT_U_1(s);
+               s++;
                if (!ND_ISASCII(c)) {
                        c = ND_TOASCII(c);
                        ND_PRINT("M-");
@@ -215,7 +218,8 @@ fn_printzp(netdissect_options *ndo,
        ret = 1;                        /* assume truncated */
        while (n > 0 && (ep == NULL || s < ep)) {
                n--;
-               c = *s++;
+               c = EXTRACT_U_1(s);
+               s++;
                if (c == '\0') {
                        ret = 0;
                        break;
@@ -933,8 +937,8 @@ safeputs(netdissect_options *ndo,
 {
        u_int idx = 0;
 
-       while (idx < maxlen && *s) {
-               safeputchar(ndo, *s);
+       while (idx < maxlen && EXTRACT_U_1(s)) {
+               safeputchar(ndo, EXTRACT_U_1(s));
                idx++;
                s++;
        }