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.
This commit is contained in:
Miles Bader 1996-07-26 21:03:47 +00:00
parent d4eaba51e7
commit 4627647c99
2 changed files with 10 additions and 2 deletions

View File

@ -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

View 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. */