Browse Source

Do not setgroups() on FreeBSD

pull/257/head
Andrey Kiryanov 2 years ago
parent
commit
4925c3cc1b
  1. 3
      tpws/sec.c

3
tpws/sec.c

@ -1,5 +1,6 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include <sys/param.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "sec.h" #include "sec.h"
@ -277,12 +278,14 @@ bool droproot(uid_t uid, gid_t gid)
return false; return false;
} }
#endif #endif
#if !(defined(BSD) && !defined(__OpenBSD__) && !defined(__APPLE__))
// drop all SGIDs // drop all SGIDs
if (setgroups(0,NULL)) if (setgroups(0,NULL))
{ {
perror("setgroups"); perror("setgroups");
return false; return false;
} }
#endif
if (setgid(gid)) if (setgid(gid))
{ {
perror("setgid"); perror("setgid");

Loading…
Cancel
Save