diff options
author | eivind <eivind@FreeBSD.org> | 1997-09-01 00:34:51 +0000 |
---|---|---|
committer | eivind <eivind@FreeBSD.org> | 1997-09-01 00:34:51 +0000 |
commit | d8e95d8c1a6a0918fc9dda2ca247833ad222696d (patch) | |
tree | 42fed91af49ba9290d473dbe68d13f3f33e7545c /games/hack | |
parent | ff4b4c1d18cef70a372542d0a1a7a48e6543cf9e (diff) | |
download | FreeBSD-src-d8e95d8c1a6a0918fc9dda2ca247833ad222696d.zip FreeBSD-src-d8e95d8c1a6a0918fc9dda2ca247833ad222696d.tar.gz |
Change games from setuid games to setgid games.
Reviewed by: maybe@yes.no
Obtained from: OpenBSD (mostly deraadt@openbsd.org)
Diffstat (limited to 'games/hack')
-rw-r--r-- | games/hack/hack.main.c | 6 | ||||
-rw-r--r-- | games/hack/hack.pager.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/games/hack/hack.main.c b/games/hack/hack.main.c index d2d59a2..673a795 100644 --- a/games/hack/hack.main.c +++ b/games/hack/hack.main.c @@ -116,6 +116,7 @@ char *argv[]; */ gettty(); setbuf(stdout,obuf); + umask(007); setrandom(); startup(); cls(); @@ -458,8 +459,9 @@ boolean wr; && strcmp(dir, HACKDIR) /* and not the default? */ #endif ) { - (void) setuid(getuid()); /* Ron Wessels */ - (void) setgid(getgid()); + /* revoke */ + setegid(getgid()); + setgid(getgid()); } #endif diff --git a/games/hack/hack.pager.c b/games/hack/hack.pager.c index b1edb91..1854f22 100644 --- a/games/hack/hack.pager.c +++ b/games/hack/hack.pager.c @@ -378,8 +378,9 @@ child(wt) { f = fork(); if(f == 0){ /* child */ settty((char *) 0); /* also calls end_screen() */ - (void) setuid(getuid()); - (void) setgid(getgid()); + /* revoke */ + setegid(getgid()); + setgid(getgid()); #ifdef CHDIR (void) chdir(getenv("HOME")); #endif CHDIR |