summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2010-08-16 11:09:26 +0000
committerkrw <krw@openbsd.org>2010-08-16 11:09:26 +0000
commit914fb6ee6e139fdd7ed93919316051e22e0dc300 (patch)
treecc8ec2e8b597a8a4252121047f40a1e83d2c72ec
parentbackout previous temporarily; discussed with deraadt@ (diff)
downloadwireguard-openbsd-914fb6ee6e139fdd7ed93919316051e22e0dc300.tar.xz
wireguard-openbsd-914fb6ee6e139fdd7ed93919316051e22e0dc300.zip
Fix another gcc4 mis-alignment, by using bcopy() rather than
(u_int64_t *)charptr = value. Problem reported by Daniel Ouellet, first diff from matthieu@, another from naddy@ equivalent to this one. ok millert@ dlg@ (for naddy's) deraadt@
-rw-r--r--usr.sbin/rdate/ntp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/rdate/ntp.c b/usr.sbin/rdate/ntp.c
index 96c9c738ce6..16f4a248f70 100644
--- a/usr.sbin/rdate/ntp.c
+++ b/usr.sbin/rdate/ntp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ntp.c,v 1.29 2006/09/17 17:03:56 ckuethe Exp $ */
+/* $OpenBSD: ntp.c,v 1.30 2010/08/16 11:09:26 krw Exp $ */
/*
* Copyright (c) 1996, 1997 by N.M. Maclaren. All rights reserved.
@@ -282,7 +282,7 @@ write_packet(int fd, struct ntp_data *data)
* the transmit field intelligible.
*/
- *(u_int64_t *)(packet + NTP_TRANSMIT) = data->xmitck;
+ bcopy(&data->xmitck, (packet + NTP_TRANSMIT), sizeof(data->xmitck));
data->originate = current_time(JAN_1970);
@@ -424,7 +424,7 @@ unpack_ntp(struct ntp_data *data, u_char *packet)
data->transmit = d / NTP_SCALE;
/* See write_packet for why this isn't an endian problem. */
- data->recvck = *(u_int64_t *)(packet + NTP_ORIGINATE);
+ bcopy((packet + NTP_ORIGINATE), &data->recvck, sizeof(data->recvck));
}
/*