[gpm] [patch] make sure changing gid/uid actually works
Mike Frysinger
vapier@gentoo.org
Wed May 4 04:40:27 CEST 2005
here's a small patch to make sure setgid/setuid actually worked
--- src/prog/gpm-root.y
+++ src/prog/gpm-root.y
@@ -433,9 +433,10 @@
/*====================================================================*/
void f__fix(struct passwd *pass)
{
- setgid(pass->pw_gid);
- initgroups(pass->pw_name, pass->pw_gid);
- setuid(pass->pw_uid);
+ if (setgid(pass->pw_gid) < 0 ||
+ initgroups(pass->pw_name, pass->pw_gid) < 0 ||
+ setuid(pass->pw_uid) < 0)
+ exit(1);
setenv("HOME", pass->pw_dir, 1);
setenv("LOGNAME", pass->pw_name,1);
setenv("USER", pass->pw_name,1);
-mike
More information about the gpm
mailing list