diff options
Diffstat (limited to 'sys.c')
-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(); |