summaryrefslogtreecommitdiff
path: root/print-rip.c
diff options
context:
space:
mode:
authorXin Li <delphij@FreeBSD.org>2013-05-30 14:27:09 -0700
committerXin Li <delphij@FreeBSD.org>2013-05-31 13:53:40 -0700
commit16405d7d9241c87960a6ea5b5dce09d0e9650872 (patch)
tree22fb14413bf94add0145a186f41d99967efceb4a /print-rip.c
parentfd35562d7e7153a339fdcdd02408f877e34a49fb (diff)
downloadtcpdump-16405d7d9241c87960a6ea5b5dce09d0e9650872.tar.gz
Use byte offset instead of rip_dest (a 32-bit field) to extract
16-bit field in order to avoid type punning. This fixes compile on IA64 platforms.
Diffstat (limited to 'print-rip.c')
-rw-r--r--print-rip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/print-rip.c b/print-rip.c
index 327f057a..e941947d 100644
--- a/print-rip.c
+++ b/print-rip.c
@@ -141,7 +141,7 @@ rip_entry_print_v2(register const struct rip_netinfo *ni, const unsigned remaini
putchar (isprint(*p) ? *p : '.');
} else if (auth_type == 3) {
printf("\n\t Auth header:");
- printf(" Packet Len %u,", EXTRACT_16BITS(&ni->rip_dest));
+ printf(" Packet Len %u,", EXTRACT_16BITS((u_int8_t *)ni + 4));
printf(" Key-ID %u,", *((u_int8_t *)ni + 6));
printf(" Auth Data Len %u,", *((u_int8_t *)ni + 7));
printf(" SeqNo %u,", EXTRACT_32BITS(&ni->rip_dest_mask));