summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2020-02-28 22:37:33 +0100
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2020-02-29 13:19:15 +0100
commit0c4c8c7818eec34f9b23db9fc2c10dbc6858e04f (patch)
treec3fe983df91d89e27f5d20538a9485bde3b0bfb2
parent2ff501f5499085b6c89879ab4522beff3a8f92b5 (diff)
downloadtcpdump-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.c4
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)