summaryrefslogtreecommitdiff
path: root/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys.c')
-rw-r--r--sys.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys.c b/sys.c
index aca656a..804bdbb 100644
--- a/sys.c
+++ b/sys.c
@@ -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();