From 4627647c99b7c269e1a325bd2beb1467589fb074 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 26 Jul 1996 21:03:47 +0000 Subject: [PATCH] Fri Jul 26 16:10:43 1996 Miles Bader * login/pututline_r.c (pututline_r): Only call getutid_r if ID has a valid ut_id field. * login/getutid_r.c (getutid_r): Mark UTMP_DATA->loc_utmp invalid if a search fails. --- ChangeLog | 7 +++++++ login/pututline_r.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 770d06e..915f2e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Jul 26 16:10:43 1996 Miles Bader + + * login/pututline_r.c (pututline_r): Only call getutid_r if ID has a + valid ut_id field. + * login/getutid_r.c (getutid_r): Mark UTMP_DATA->loc_utmp invalid + if a search fails. + Fri Jul 26 00:36:50 1996 Roland McGrath * sysdeps/mips/dl-machine.h: New file, contributed by Kazumoto Kojima diff --git a/login/pututline_r.c b/login/pututline_r.c index 42994e8..ada6059 100644 --- a/login/pututline_r.c +++ b/login/pututline_r.c @@ -62,8 +62,9 @@ pututline_r (const struct utmp *id, struct utmp_data *utmp_data) /* Check whether we need to reposition. Repositioning is necessary either if the data in UTMP_DATA is not valid or if the ids don't match: */ - if (utmp_data->loc_utmp < (off_t) sizeof (struct utmp) - || strncmp(utmp_data->ubuf.ut_id, id->ut_id, sizeof (id->ut_id)) != 0) + if (id->ut_id[0] + && (utmp_data->loc_utmp < (off_t) sizeof (struct utmp) + || strncmp(utmp_data->ubuf.ut_id, id->ut_id, sizeof (id->ut_id)) != 0)) { /* We must not overwrite the data in UTMP_DATA since ID may be aliasing it. */ -- 2.7.4