From: guy Date: Tue, 5 Feb 2008 19:36:58 +0000 (+0000) Subject: "rr_maxdelay" is a 16-bit field, and "rr_reserved" is a 32-bit field, in X-Git-Tag: tcpdump-4.0.0~33 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/9dc90502834ac209ecadc64d5ca7d536b89ca80e "rr_maxdelay" is a 16-bit field, and "rr_reserved" is a 32-bit field, in a router renumbering message; process them correctly. --- diff --git a/print-icmp6.c b/print-icmp6.c index 2ec05d43..41d56b68 100644 --- a/print-icmp6.c +++ b/print-icmp6.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.85 2005-09-05 09:29:01 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.85.2.1 2008-02-05 19:36:58 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -1192,9 +1192,9 @@ icmp6_rrenum_print(const u_char *bp, const u_char *ep) F(ICMP6_RR_FLAGS_PREVDONE, "P")); } printf("seg=%u,", rr6->rr_segnum); - printf("maxdelay=%u", rr6->rr_maxdelay); + printf("maxdelay=%u", EXTRACT_16BITS(&rr6->rr_maxdelay)); if (rr6->rr_reserved) - printf("rsvd=0x%x", EXTRACT_16BITS(&rr6->rr_reserved)); + printf("rsvd=0x%x", EXTRACT_32BITS(&rr6->rr_reserved)); /*[*/ printf("]"); #undef F