Fri Jul 26 16:10:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
authorMiles Bader <miles@gnu.org>
Fri, 26 Jul 1996 21:03:47 +0000 (21:03 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 26 Jul 1996 21:03:47 +0000 (21:03 +0000)
* 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
login/pututline_r.c

index 770d06e..915f2e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Jul 26 16:10:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
+
+       * 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  <roland@delasyd.gnu.ai.mit.edu>
 
        * sysdeps/mips/dl-machine.h: New file, contributed by Kazumoto Kojima
index 42994e8..ada6059 100644 (file)
@@ -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.  */