diff --git a/tmate-slave.c b/tmate-slave.c index af71cd3f..01d761fe 100644 --- a/tmate-slave.c +++ b/tmate-slave.c @@ -279,6 +279,17 @@ static void jail(void) if (setgroups(1, (gid_t[]){gid}) < 0) tmate_fatal("Cannot setgroups()"); +#if HAVE_SETRESGID + if (setresgid(gid, gid, gid) < 0) + tmate_fatal("Cannot setresgid() %d", gid); +#elif HAVE_SETREGID + if (setregid(gid, gid) < 0) + tmate_fatal("Cannot setregid()"); +#else + if (setgid(gid) < 0) + tmate_fatal("Cannot setgid()"); +#endif + #if HAVE_SETRESUID if (setresuid(uid, uid, uid) < 0) tmate_fatal("Cannot setresuid()"); @@ -290,17 +301,6 @@ static void jail(void) tmate_fatal("Cannot setuid()"); #endif -#if HAVE_SETRESGID - if (setresgid(gid, gid, gid) < 0) - tmate_fatal("Cannot setresgid()"); -#elif HAVE_SETREGID - if (setregid(gid, gid) < 0) - tmate_fatal("Cannot setregid()"); -#else - if (setgid(gid) < 0) - tmate_fatal("Cannot setgid()"); -#endif - if (nice(1) < 0) tmate_fatal("Cannot nice()");