You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.1 KiB
50 lines
1.1 KiB
diff --git a/kwrited.cpp b/kwrited.cpp
|
|
index a4dac6b..1eaef2a 100644
|
|
--- a/kwrited.cpp
|
|
+++ b/kwrited.cpp
|
|
@@ -34,11 +34,13 @@
|
|
# include <signal.h>
|
|
# include <sys/types.h>
|
|
# include <unistd.h>
|
|
+# include <grp.h>
|
|
#else
|
|
# include <kpluginfactory.h>
|
|
# include <kpluginloader.h>
|
|
#endif
|
|
|
|
+
|
|
static inline KAboutData aboutData()
|
|
{
|
|
return KAboutData("kwrited", i18n("kwrited"), PROJECT_VERSION);
|
|
@@ -60,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());
|
|
|
|
@@ -111,6 +114,7 @@ KWrited::KWrited() : QObject()
|
|
|
|
#if defined(BUILD_AS_EXECUTABLE)
|
|
//drop privileges again
|
|
+ setgroups(0, 0);
|
|
seteuid(getuid());
|
|
setegid(getgid());
|
|
#endif
|
|
@@ -131,6 +135,7 @@ KWrited::~KWrited()
|
|
|
|
#if defined(BUILD_AS_EXECUTABLE)
|
|
//drop privileges again
|
|
+ setgroups(0, 0);
|
|
seteuid(getuid());
|
|
setegid(getgid());
|
|
#endif
|
|
@@ -156,4 +161,4 @@ void KWrited::block_in()
|
|
|
|
#if !defined(BUILD_AS_EXECUTABLE)
|
|
#include "kwrited.moc"
|
|
-#endif
|
|
\ No newline at end of file
|
|
+#endif
|