diff options
author | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2020-02-28 22:37:33 +0100 |
---|---|---|
committer | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2020-02-29 13:19:15 +0100 |
commit | 0c4c8c7818eec34f9b23db9fc2c10dbc6858e04f (patch) | |
tree | c3fe983df91d89e27f5d20538a9485bde3b0bfb2 | |
parent | 2ff501f5499085b6c89879ab4522beff3a8f92b5 (diff) | |
download | tcpdump-0c4c8c7818eec34f9b23db9fc2c10dbc6858e04f.tar.gz |
VJC: Use GET macros to fetch packet data
This change should avoid doing unaligned accesses on some instruction
sets that don't support it, e.g. SPARC.
Update a comment.
-rw-r--r-- | print-vjc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/print-vjc.c b/print-vjc.c index 28e4c8e9..d52f6087 100644 --- a/print-vjc.c +++ b/print-vjc.c @@ -77,7 +77,7 @@ * unused argument remind us that we should fix this some day. * * XXX - also, it fetches the TCP checksum field in COMPRESSED_TCP - * packets directly, rather than with EXTRACT_BE_U_2(); RFC 1144 says + * packets with GET_HE_U_2, rather than with GET_BE_U_2(); RFC 1144 says * it's "the unmodified TCP checksum", which would imply that it's * big-endian, but perhaps, on the platform where this was developed, * the packets were munged by the networking stack before being handed @@ -112,7 +112,7 @@ vjc_print(netdissect_options *ndo, const u_char *bp, u_short proto _U_) ND_TCHECK_1(bp + 2); ND_PRINT("C=0x%02x ", GET_U_1(bp + 2)); ND_TCHECK_2(bp + 3); - ND_PRINT("sum=0x%04x ", *(const u_short *)(bp + 3)); + ND_PRINT("sum=0x%04x ", GET_HE_U_2(bp + 3)); return -1; case TYPE_ERROR: if (ndo->ndo_eflag) |