summaryrefslogtreecommitdiff
path: root/daemon/auth.c
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2003-12-20 00:50:26 +0000
committerGeorge Lebl <jirka@src.gnome.org>2003-12-20 00:50:26 +0000
commit962459117eecd0b3615ab1d5d253a0429a977739 (patch)
tree76cd435c44220cf3d6b362c08b95f1340e10b8f4 /daemon/auth.c
parente92b71ea79b91c95a549bbbe8cd460b2f9c5da16 (diff)
downloadgdm-962459117eecd0b3615ab1d5d253a0429a977739.tar.gz
Lots of general paranoia stemming from fixing #127780. Make sure that the
Fri Dec 19 16:50:12 2003 George Lebl <jirka@5z.com> * daemon/slave.c, daemon/gdm.[ch], daemon/auth.c, daemon/misc.c: Lots of general paranoia stemming from fixing #127780. Make sure that the NEVER_FAILS_ eid/uid setting never actually fails by just setting euid root before doing anything and such.
Diffstat (limited to 'daemon/auth.c')
-rw-r--r--daemon/auth.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/daemon/auth.c b/daemon/auth.c
index a797a5f3..543d6284 100644
--- a/daemon/auth.c
+++ b/daemon/auth.c
@@ -530,18 +530,15 @@ try_open_read_as_root (const char *file)
int fd;
uid_t oldeuid = geteuid ();
uid_t oldegid = getegid ();
- setegid (0);
- seteuid (0);
+ NEVER_FAILS_root_set_euid_egid (0, 0);
VE_IGNORE_EINTR (fd = open (file, O_RDONLY));
if G_UNLIKELY (fd < 0) {
- seteuid (oldeuid);
- setegid (oldegid);
+ NEVER_FAILS_root_set_euid_egid (oldeuid, oldegid);
return FALSE;
} else {
VE_IGNORE_EINTR (close (fd));
- seteuid (oldeuid);
- setegid (oldegid);
+ NEVER_FAILS_root_set_euid_egid (oldeuid, oldegid);
return TRUE;
}
}