truss /usr/bin/su

login (or not if root)
	then exit the shell

truss will get stuct in tsleep

I dont know if this is correct, but it fixes the problem and
according to the commends in pioctl.h, PF_ISUGID is set when we
want to ignore UID changes.

The code is checking for when PF_ISUGID is not set and since it
never is set, we always ignore UID changes.

Submitted by:	Paul Saab <ps@yahoo-inc.com>
This commit is contained in:
phk 2000-01-03 14:26:47 +00:00
parent d18cccd23d
commit 1275074122

View File

@ -929,9 +929,9 @@ setlogin(p, uap)
void
setsugid(p)
struct proc *p;
struct proc *p;
{
p->p_flag |= P_SUGID;
if (!(p->p_pfsflags & PF_ISUGID))
if (p->p_pfsflags & PF_ISUGID)
p->p_stops = 0;
}