tOnly call issetugid() on systems that have it - vaccinewars - be a doctor and try to vaccinate the world (HTM) git clone git://src.adamsgaard.dk/vaccinewars (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 10bb1c3c21b12fc3a95a4274b2107751424230dc (DIR) parent ec76dfa9332d4449aade6d295cf3988c5cdcfc3d (HTM) Author: Ben Webb <ben@salilab.org> Date: Sun, 8 Nov 2020 12:29:40 -0800 Only call issetugid() on systems that have it Diffstat: M configure.ac | 2 +- M src/serverside.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) --- (DIR) diff --git a/configure.ac b/configure.ac t@@ -285,7 +285,7 @@ dnl Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_SETVBUF_REVERSED AC_FUNC_STRFTIME -AC_CHECK_FUNCS(strdup strstr getopt getopt_long fork) +AC_CHECK_FUNCS(strdup strstr getopt getopt_long fork issetugid) dnl Enable plugins only if we can find the dlopen function, and dnl the user does not disable them with --disable-plugins or --disable-shared (DIR) diff --git a/src/serverside.c b/src/serverside.c t@@ -1798,7 +1798,10 @@ void CloseHighScoreFile() void DropPrivileges() { #ifndef CYGWIN + +#ifdef HAVE_ISSETUGID if (issetugid() == 0) return; +#endif /* Ignore the return from setregid; we'll check it ourselves to be sure * (this avoids problems when running under fakeroot) */