diff options
author | phk <phk@FreeBSD.org> | 2000-01-03 14:26:47 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2000-01-03 14:26:47 +0000 |
commit | 12750741225484aa642de485db158821253092c9 (patch) | |
tree | 2313b9df388b4de93e213a981e9f8243f8364861 /sys | |
parent | d18cccd23d3a6d67735fbe01d152a87f5234c470 (diff) | |
download | FreeBSD-src-12750741225484aa642de485db158821253092c9.zip FreeBSD-src-12750741225484aa642de485db158821253092c9.tar.gz |
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>
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_prot.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 1611cc3..306b36c 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -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; } |