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/canfield | |
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/canfield')
-rw-r--r-- | games/canfield/canfield/canfield.c | 7 | ||||
-rw-r--r-- | games/canfield/cfscores/cfscores.c | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/games/canfield/canfield/canfield.c b/games/canfield/canfield/canfield.c index aec376d..f13fed6 100644 --- a/games/canfield/canfield/canfield.c +++ b/games/canfield/canfield/canfield.c @@ -1570,10 +1570,10 @@ initall() srandom(getpid()); time(&acctstart); initdeck(deck); - uid = getuid(); if (uid < 0) uid = 0; dbfd = open(_PATH_SCORE, 2); + setegid(getgid()); if (dbfd < 0) return; i = lseek(dbfd, uid * sizeof(struct betinfo), 0); @@ -1691,6 +1691,11 @@ main(argc, argv) raw(); noecho(); initall(); + + /* revoke privs */ + setegid(getgid()); + setgid(getgid()); + instruct(); makeboard(); for (;;) { diff --git a/games/canfield/cfscores/cfscores.c b/games/canfield/cfscores/cfscores.c index f758cf1..3be6b25 100644 --- a/games/canfield/cfscores/cfscores.c +++ b/games/canfield/cfscores/cfscores.c @@ -74,6 +74,11 @@ main(argc, argv) perror(_PATH_SCORE); exit(2); } + + /* revoke privs */ + setegid(getgid()); + setgid(getgid()); + setpwent(); if (argc == 1) { uid = getuid(); |