diff options
author | 2015-10-31 12:13:01 +0000 | |
---|---|---|
committer | 2015-10-31 12:13:01 +0000 | |
commit | c65ac5402b367c020d609674aef3dbd70692b6ae (patch) | |
tree | 7ee291a140781637c17ef1988730b376a173b208 /usr.sbin/cron/crontab.c | |
parent | mark *Completions* buffer as read-only (diff) | |
download | wireguard-openbsd-c65ac5402b367c020d609674aef3dbd70692b6ae.tar.xz wireguard-openbsd-c65ac5402b367c020d609674aef3dbd70692b6ae.zip |
swap_gids and swap_gids_back are only used by crontab.c so
move them there.
Diffstat (limited to 'usr.sbin/cron/crontab.c')
-rw-r--r-- | usr.sbin/cron/crontab.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/usr.sbin/cron/crontab.c b/usr.sbin/cron/crontab.c index 51e3bd8ee40..319f555153b 100644 --- a/usr.sbin/cron/crontab.c +++ b/usr.sbin/cron/crontab.c @@ -1,4 +1,4 @@ -/* $OpenBSD: crontab.c,v 1.77 2015/10/29 23:14:30 millert Exp $ */ +/* $OpenBSD: crontab.c,v 1.78 2015/10/31 12:13:01 millert Exp $ */ /* Copyright 1988,1990,1993,1994 by Paul Vixie * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") @@ -30,6 +30,7 @@ enum opt_t { opt_unknown, opt_list, opt_delete, opt_edit, opt_replace }; static char *getoptargs = "u:ler"; static pid_t Pid; +static gid_t save_egid; static char User[MAX_UNAME], RealUser[MAX_UNAME]; static char Filename[MAX_FNAME], TempFilename[MAX_FNAME]; static FILE *NewCrontab; @@ -46,6 +47,17 @@ static void list_cmd(void), die(int); static int replace_cmd(void); +static int swap_gids(void) +{ + save_egid = getegid(); + return (setegid(getgid())); +} + +static int swap_gids_back(void) +{ + return (setegid(save_egid)); +} + static void usage(const char *msg) { |