aboutsummaryrefslogtreecommitdiff
path: root/games/cribbage
diff options
context:
space:
mode:
authorEivind Eklund <eivind@FreeBSD.org>1997-02-23 03:29:36 +0000
committerEivind Eklund <eivind@FreeBSD.org>1997-02-23 03:29:36 +0000
commit6397b46dd275fba562af6a57dab6863f39d7d586 (patch)
treedebc3789ae84410cbd1a48a42efcf48895929832 /games/cribbage
parentbc5d5816e7d777bc8418d136de89e019abcc3359 (diff)
downloadsrc-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.c4
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);