summaryrefslogtreecommitdiffstats
path: root/games/canfield
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/canfield
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/canfield')
-rw-r--r--games/canfield/canfield/canfield.c7
-rw-r--r--games/canfield/cfscores/cfscores.c5
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();
OpenPOWER on IntegriCloud