diff options
author | Xin Li <delphij@FreeBSD.org> | 2013-05-30 14:27:09 -0700 |
---|---|---|
committer | Xin Li <delphij@FreeBSD.org> | 2013-05-31 13:53:40 -0700 |
commit | 16405d7d9241c87960a6ea5b5dce09d0e9650872 (patch) | |
tree | 22fb14413bf94add0145a186f41d99967efceb4a /print-rip.c | |
parent | fd35562d7e7153a339fdcdd02408f877e34a49fb (diff) | |
download | tcpdump-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.c | 2 |
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)); |