summaryrefslogtreecommitdiffstats
path: root/games/hack
diff options
context:
space:
mode:
authoreivind <eivind@FreeBSD.org>1997-09-01 00:34:51 +0000
committereivind <eivind@FreeBSD.org>1997-09-01 00:34:51 +0000
commitd8e95d8c1a6a0918fc9dda2ca247833ad222696d (patch)
tree42fed91af49ba9290d473dbe68d13f3f33e7545c /games/hack
parentff4b4c1d18cef70a372542d0a1a7a48e6543cf9e (diff)
downloadFreeBSD-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.c6
-rw-r--r--games/hack/hack.pager.c5
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
OpenPOWER on IntegriCloud