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

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