summaryrefslogtreecommitdiff
path: root/usr.bin/skeyaudit
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2003-05-06 15:34:09 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2003-05-06 15:34:09 +0000
commit73e996836521dc5ba2c58b93b8d304411f8c8d1a (patch)
tree910f5bf8d9a54745a727b4e54a24552fb7c5e3b0 /usr.bin/skeyaudit
parent0b3038a4d0d0ca5ee1e2b60a64dbcb4e2f6e7998 (diff)
Don't call setusercontext() to change uid unless uid == 0; found by mpech@
Diffstat (limited to 'usr.bin/skeyaudit')
-rw-r--r--usr.bin/skeyaudit/skeyaudit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/skeyaudit/skeyaudit.c b/usr.bin/skeyaudit/skeyaudit.c
index e5d668a530b..2adc7b5981f 100644
--- a/usr.bin/skeyaudit/skeyaudit.c
+++ b/usr.bin/skeyaudit/skeyaudit.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: skeyaudit.c,v 1.18 2003/05/06 10:45:49 mpech Exp $ */
+/* $OpenBSD: skeyaudit.c,v 1.19 2003/05/06 15:34:08 millert Exp $ */
/*
* Copyright (c) 1997, 2000, 2003 Todd C. Miller <Todd.Miller@courtesan.com>
@@ -209,7 +209,8 @@ runsendmail(struct passwd *pw, pid_t *pidp)
(void)close(pfd[0]);
/* Run sendmail as target user not root */
- if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) {
+ if (getuid() == 0 &&
+ setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) {
warn("cannot set user context");
_exit(127);
}