diff -up ntp-4.2.6p1/ntpd/ntp_io.c.cmsgalign ntp-4.2.6p1/ntpd/ntp_io.c
--- ntp-4.2.6p1/ntpd/ntp_io.c.cmsgalign 2010-03-04 18:28:53.000000000 +0100
+++ ntp-4.2.6p1/ntpd/ntp_io.c 2010-03-04 18:30:34.000000000 +0100
@@ -3194,8 +3194,8 @@ read_network_packet(
msghdr.msg_namelen = fromlen;
msghdr.msg_iov = &iovec;
msghdr.msg_iovlen = 1;
- msghdr.msg_control = (void *)&control;
- msghdr.msg_controllen = sizeof(control);
+ msghdr.msg_control = (void *)((long)(control + 7) & -8); /* align to 8 bytes */
+ msghdr.msg_controllen = sizeof(control) - 8;
msghdr.msg_flags = 0;
rb->recv_length = recvmsg(fd, &msghdr, 0);
#endif