summaryrefslogtreecommitdiffstats
path: root/games/canfield
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1997-09-24 09:21:55 +0000
committerache <ache@FreeBSD.org>1997-09-24 09:21:55 +0000
commit20d6ff62f09400462b0b69398a2ae7419b02ab8d (patch)
tree441f9da1c39cb2457e78b7c040cc031499fd2a4f /games/canfield
parent77b0d128db2ea6bd6dc5a587367b238bb0045caa (diff)
downloadFreeBSD-src-20d6ff62f09400462b0b69398a2ae7419b02ab8d.zip
FreeBSD-src-20d6ff62f09400462b0b69398a2ae7419b02ab8d.tar.gz
Open score file and do revoke as early as possible
Diffstat (limited to 'games/canfield')
-rw-r--r--games/canfield/canfield/canfield.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/games/canfield/canfield/canfield.c b/games/canfield/canfield/canfield.c
index 5380434..81c09499 100644
--- a/games/canfield/canfield/canfield.c
+++ b/games/canfield/canfield/canfield.c
@@ -1569,16 +1569,13 @@ initall()
{
int i;
+ if (dbfd < 0)
+ return;
srandomdev();
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);
if (i < 0) {
close(dbfd);
@@ -1678,6 +1675,11 @@ main(argc, argv)
int argc;
char *argv[];
{
+ dbfd = open(_PATH_SCORE, 2);
+
+ /* revoke */
+ setgid(getgid());
+
#ifdef MAXLOAD
double vec[3];
OpenPOWER on IntegriCloud