From ef4d4bfdaa21f786cd63eaa8c878ac755e6baf20 Mon Sep 17 00:00:00 2001 From: Ted Lemon Date: Wed, 14 Mar 2001 15:56:27 +0000 Subject: [PATCH] Fix an endian bug in trace files (James Brister) --- common/icmp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/icmp.c b/common/icmp.c index d1376f7a..bac43b2d 100644 --- a/common/icmp.c +++ b/common/icmp.c @@ -44,7 +44,7 @@ #ifndef lint static char copyright[] = -"$Id: icmp.c,v 1.28 2001/02/26 22:21:08 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: icmp.c,v 1.29 2001/03/14 15:56:27 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -277,11 +277,13 @@ isc_result_t icmp_echoreply (h) #if defined (TRACING) if (trace_record ()) { + ia.len = htonl(ia.len); iov [0].buf = (char *)&ia; iov [0].len = sizeof ia; iov [1].buf = (char *)icbuf; iov [1].len = len; trace_write_packet_iov (trace_icmp_input, 2, iov, MDL); + ia.len = ntohl(ia.len); } #endif (*state -> icmp_handler) (ia, icbuf, len); @@ -296,6 +298,7 @@ void trace_icmp_input_input (trace_type_t *ttype, unsigned length, char *buf) unsigned len; u_int8_t *icbuf; ia = (struct iaddr *)buf; + ia->len = ntohl(ia->len); icbuf = (u_int8_t *)(ia + 1); if (icmp_state -> icmp_handler) (*icmp_state -> icmp_handler) (*ia, icbuf,