diff --git a/SOURCES/kwrited-call-setgroups.patch b/SOURCES/kwrited-call-setgroups.patch new file mode 100644 index 0000000..099a152 --- /dev/null +++ b/SOURCES/kwrited-call-setgroups.patch @@ -0,0 +1,36 @@ +diff --git a/kwrited.cpp b/kwrited.cpp +index 2b73e36..27b309e 100644 +--- a/kwrited.cpp ++++ b/kwrited.cpp +@@ -35,6 +35,7 @@ + # include + # include + # include ++# include + #else + # include + # include +@@ -61,6 +62,7 @@ int main(int argc, char **argv) + //drop elevated privileges temporarily + original_euid = geteuid(); + original_egid = getegid(); ++ setgroups(0, 0); // Remove any extraneous groups + seteuid(getuid()); + setegid(getgid()); + +@@ -119,6 +121,7 @@ KWrited::KWrited() : QObject() + + #if defined(BUILD_AS_EXECUTABLE) + //drop privileges again ++ setgroups(0, 0); + seteuid(getuid()); + setegid(getgid()); + #endif +@@ -139,6 +142,7 @@ KWrited::~KWrited() + + #if defined(BUILD_AS_EXECUTABLE) + //drop privileges again ++ setgroups(0, 0); + seteuid(getuid()); + setegid(getgid()); + #endif