Submit #2339
closed[PATCH] rwhod: do not clobber the hostname.
0%
Description
The time stamps in the rwhod(8) network datagram and, based on that,
/var/rwho/whod.* spool files are typed as 32bit int and cannot accept
a 64bit time_t.
The old code clobbered the first bytes of the adjacent "hostname"
field, yielding empty hostnames in local rwho(1) and ruptime(1) output.
(Outgoing datagrams to other hosts were not affected.)
Re-code to let the compiler do the proper coercion (well, until 2038).
---
usr.sbin/rwhod/rwhod.c | 2 ), 1 deletions()
1 files changed, 1 insertions(
diff --git a/usr.sbin/rwhod/rwhod.c b/usr.sbin/rwhod/rwhod.c
index fda528a..32f86f1 100644
--- a/usr.sbin/rwhod/rwhod.c
++ b/usr.sbin/rwhod/rwhod.c@ -382,7 +382,7
@ handleread(int sock)
}
}
#endif
- time((time_t *)&wd.wd_recvtime);
wd.wd_recvtime = time(NULL);
write(whod, (char *)&wd, cc);
if (fstat(whod, &st) < 0 || st.st_size > cc)
ftruncate(whod, cc);
--
1.7.6