Reformat setuid-ing code in startup_child()
New code does the same as old one, but is more readable (I hope). * strace.c (startup_child): Reformat setuid-ing code. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
parent
2e968c0bb7
commit
ab034fbf09
7
strace.c
7
strace.c
@ -652,7 +652,7 @@ startup_child(char **argv)
|
||||
kill(pid, SIGSTOP);
|
||||
}
|
||||
|
||||
if (username != NULL || geteuid() == 0) {
|
||||
if (username != NULL) {
|
||||
uid_t run_euid = run_uid;
|
||||
gid_t run_egid = run_gid;
|
||||
|
||||
@ -660,12 +660,10 @@ startup_child(char **argv)
|
||||
run_euid = statbuf.st_uid;
|
||||
if (statbuf.st_mode & S_ISGID)
|
||||
run_egid = statbuf.st_gid;
|
||||
|
||||
/*
|
||||
* It is important to set groups before we
|
||||
* lose privileges on setuid.
|
||||
*/
|
||||
if (username != NULL) {
|
||||
if (initgroups(username, run_gid) < 0) {
|
||||
perror_msg_and_die("initgroups");
|
||||
}
|
||||
@ -676,8 +674,7 @@ startup_child(char **argv)
|
||||
perror_msg_and_die("setreuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (geteuid() != 0)
|
||||
setreuid(run_uid, run_uid);
|
||||
|
||||
if (!daemonized_tracer) {
|
||||
|
Loading…
Reference in New Issue
Block a user