diff options
author | Eivind Eklund <eivind@FreeBSD.org> | 1997-02-23 03:29:36 +0000 |
---|---|---|
committer | Eivind Eklund <eivind@FreeBSD.org> | 1997-02-23 03:29:36 +0000 |
commit | 6397b46dd275fba562af6a57dab6863f39d7d586 (patch) | |
tree | debc3789ae84410cbd1a48a42efcf48895929832 /games/cribbage | |
parent | bc5d5816e7d777bc8418d136de89e019abcc3359 (diff) | |
download | src-6397b46dd275fba562af6a57dab6863f39d7d586.tar.gz src-6397b46dd275fba562af6a57dab6863f39d7d586.zip |
Add setuid() before running the pager - from the code audit.
Submitted by: Mark Huizer <xaa@stack.nl>
Notes
Notes:
svn path=/head/; revision=23032
Diffstat (limited to 'games/cribbage')
-rw-r--r-- | games/cribbage/instr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/games/cribbage/instr.c b/games/cribbage/instr.c index a0414d80e0df..5df7dae6312c 100644 --- a/games/cribbage/instr.c +++ b/games/cribbage/instr.c @@ -74,6 +74,10 @@ instructions() if (pager = rindex(path, '/')) ++pager; pager = path; + if (setuid(getuid()) < 0) { + (void)fprintf(stderr, "cribbage: unable to setuid\n"); + _exit(1); + } execlp(path, pager, _PATH_INSTR, (char *)NULL); (void)fprintf(stderr, "cribbage: %s.\n", strerror(errno)); _exit(1); |