26 lines
727 B
Text
26 lines
727 B
Text
|
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@lists.linux.it
|
||
|
http://lists.linux.it/listinfo/gpm
|
||
|
|