[9217] in Athena Bugs

home help back first fref pref prev next nref lref last post

7.3 rsaix: cleanup.c

daemon@ATHENA.MIT.EDU (Richard Basch)
Sun Apr 19 01:50:33 1992

Date: Sun, 19 Apr 92 01:50:11 -0400
To: bugs@MIT.EDU
From: "Richard Basch" <basch@MIT.EDU>


I believe there is a bug in the source for cleanup for the RISC/6000 in
rewrite_passwd():

    char *empty = "\0";
	. . .
    putuserattr(usr, S_GROUPS, &empty, SEC_LIST);

I believe the "&" is incorrect; putuserattr(..., SEC_LIST) takes a value
argument as a pointer to memory of the following form:

	<char-string>\0<char-string>\0 ... <char-string>\0\0

The above code is indirecting through one too many pointers...

God knows how we are still running without corruption...  Luckily the
-loggedin option is only used on reboot, and we generally haven't had a
mess by the time the machines have been rebooted.

-Richard

home help back first fref pref prev next nref lref last post