diff options
author | Jeremy Huddleston <jeremyhu@apple.com> | 2011-10-06 10:50:54 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@apple.com> | 2011-10-06 10:50:54 -0700 |
commit | 82bec8b84d90d37f75f10b3abe9ec34a3415a622 (patch) | |
tree | 73810165ed07c755ad35c025bcccbf4caefc0270 | |
parent | 290c32fb19d901306c4da1119a679112490cb838 (diff) |
Fix ifdef-foo for the BSDs which are still living in the 90s
NetBSD and FreeBSD still don't _POSIX_SAVED_IDS
https://bugs.freedesktop.org/show_bug.cgi?id=41513
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r-- | sys.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -491,12 +491,7 @@ int droppriv(void) { int rc; -#if (defined(BSD) && !defined(_POSIX_SAVED_IDS)) || defined(_MINIX) - rc = setuid(getuid()); - if (rc >= 0) { - rc = setgid(getgid()); - } -#elif defined(_POSIX_SAVED_IDS) +#if defined(_POSIX_SAVED_IDS) uid_t uid = getuid(); uid_t euid = geteuid(); gid_t gid = getgid(); @@ -510,6 +505,11 @@ droppriv(void) if (rc >= 0) rc = setgid(gid); } +#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(_MINIX) + rc = setuid(getuid()); + if (rc >= 0) { + rc = setgid(getgid()); + } #else uid_t uid = getuid(); uid_t euid = geteuid(); |