diff options
author | ache <ache@FreeBSD.org> | 1997-09-24 09:21:55 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1997-09-24 09:21:55 +0000 |
commit | 20d6ff62f09400462b0b69398a2ae7419b02ab8d (patch) | |
tree | 441f9da1c39cb2457e78b7c040cc031499fd2a4f /games/canfield | |
parent | 77b0d128db2ea6bd6dc5a587367b238bb0045caa (diff) | |
download | FreeBSD-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.c | 14 |
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]; |