Blame SOURCES/kde-workspace-4.10.5-ksysguardd-setgroups.patch

a59559
diff -up kde-workspace-4.10.5/ksysguard/ksysguardd/ksysguardd.c.orig kde-workspace-4.10.5/ksysguard/ksysguardd/ksysguardd.c
a59559
--- kde-workspace-4.10.5/ksysguard/ksysguardd/ksysguardd.c.orig	2013-10-30 16:34:10.629812777 +0100
a59559
+++ kde-workspace-4.10.5/ksysguard/ksysguardd/ksysguardd.c	2013-10-30 17:23:16.561006488 +0100
a59559
@@ -27,6 +27,7 @@
a59559
 #include <fcntl.h>
a59559
 #include <netdb.h>
a59559
 #include <netinet/in.h>
a59559
+#include <grp.h>
a59559
 #include <pwd.h>
a59559
 #include <signal.h>
a59559
 #include <stdio.h>
a59559
@@ -182,8 +183,10 @@ static void dropPrivileges( void )
a59559
   struct passwd *pwd;
a59559
 
a59559
   if ( ( pwd = getpwnam( "nobody" ) ) != NULL ) {
a59559
-    if ( !setgid(pwd->pw_gid) )
a59559
+    if ( !setgid(pwd->pw_gid) ) {
a59559
+      setgroups(1, &pwd->pw_gid);
a59559
       setuid(pwd->pw_uid);
a59559
+    }
a59559
     if (!geteuid() && getuid() != pwd->pw_uid)
a59559
       _exit(1);
a59559
   }