Ripped from Fedora. * Thu May 27 1999 Richard Henderson - avoid unaligned traps writing into the output data area. --- traceroute-1.4a5/traceroute.c +++ traceroute-1.4a5/traceroute.c @@ -258,7 +258,7 @@ struct hostinfo { struct outdata { u_char seq; /* sequence number of this packet */ u_char ttl; /* ttl packet left with */ - struct timeval tv; /* time packet left */ + struct timeval tv __attribute__((packed)); /* time packet left */ }; u_char packet[512]; /* last inbound (icmp) packet */ @@ -917,7 +917,7 @@ send_probe(register int seq, int ttl, re /* Payload */ outdata->seq = seq; outdata->ttl = ttl; - outdata->tv = *tp; + memcpy(&outdata->tv, tp, sizeof(outdata->tv)); if (useicmp) outicmp->icmp_seq = htons(seq);