--- utils/login.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/utils/login.c b/utils/login.c index 3134c4a..3ed5121 100644 --- a/utils/login.c +++ b/utils/login.c @@ -157,12 +157,17 @@ static void add_utmp_entry (char *args, unsigned args_len, int inherit_host) { struct utmp utmp; + struct timeval current_time; char const *host = 0; long addr = 0; memset (&utmp, 0, sizeof(utmp)); - gettimeofday (&utmp.ut_tv, 0); + gettimeofday (¤t_time, 0); + /* For x86_64, sizeof(utmp.ut_tv) != sizeof(struct timeval) */ + utmp.ut_tv.tv_sec = (int32_t) current_time.tv_sec; + utmp.ut_tv.tv_usec = (int32_t) current_time.tv_usec; + strncpy (utmp.ut_name, envz_get (args, args_len, "USER") ?: "", sizeof (utmp.ut_name)); -- 2.39.2