From: Francois-Xavier Le Bail Date: Sun, 28 Jan 2018 13:18:51 +0000 (+0100) Subject: Use the EXTRACT_U_1() macro in some utility functions X-Git-Tag: tcpdump-4.99-bp~1342 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/fe4ef2d22bcc1b89f16c30480f7bff4348d1a014 Use the EXTRACT_U_1() macro in some utility functions --- diff --git a/print-ascii.c b/print-ascii.c index 812e7677..bd87f6ac 100644 --- a/print-ascii.c +++ b/print-ascii.c @@ -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)); } } diff --git a/util-print.c b/util-print.c index 6c62a6d3..82f450c6 100644 --- a/util-print.c +++ b/util-print.c @@ -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++; }