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