[patch] make sure changing gid/uid actually works

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
_______________________________________________
gpm mailing list
gpm@xxxxxxxxxxxxxx
http://lists.linux.it/listinfo/gpm

[Index of Archives]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Gimp]     [Yosemite News]