diff options
author | Andrew Gallatin <gallatin@FreeBSD.org> | 2000-10-26 17:35:46 +0000 |
---|---|---|
committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2000-10-26 17:35:46 +0000 |
commit | e49012e8ea011d91f88ba50ba15fec991eb60cd0 (patch) | |
tree | a44e3c084e44ef216240f817b1331fa79b0c7743 /usr.sbin/sa/usrdb.c | |
parent | 870b024f5d5df417b31934b9c6fb2fc3b5ad6c1c (diff) | |
download | src-e49012e8ea011d91f88ba50ba15fec991eb60cd0.tar.gz src-e49012e8ea011d91f88ba50ba15fec991eb60cd0.zip |
fix unaligned access errors by copying untyped data to properly aligned
locals
PR: alpha/13912
obtained from: NetBSD
tested by: Marcin Gryszkalis <dagoon@rs.math.uni.lodz.pl>
Notes
Notes:
svn path=/head/; revision=67642
Diffstat (limited to 'usr.sbin/sa/usrdb.c')
-rw-r--r-- | usr.sbin/sa/usrdb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/sa/usrdb.c b/usr.sbin/sa/usrdb.c index 0c7cb2746d46..9ca5f74c0de6 100644 --- a/usr.sbin/sa/usrdb.c +++ b/usr.sbin/sa/usrdb.c @@ -226,7 +226,7 @@ void usracct_print() { DBT key, data; - struct userinfo *ui; + struct userinfo uistore, *ui = &uistore; double t; int rv; @@ -235,7 +235,7 @@ usracct_print() warn("retrieving user accounting stats"); while (rv == 0) { - ui = (struct userinfo *) data.data; + memcpy(ui, data.data, sizeof(struct userinfo)); printf("%-*s %9qu ", MAXLOGNAME - 1, user_from_uid(ui->ui_uid, 0), ui->ui_calls); |