Sophie

Sophie

distrib > Altlinux > 4.1 > i586 > media > core-src > by-pkgid > afbf85d6572d09c5c1c9e4422092db96 > files > 4

kde4base-4.1.3-alt0.M41.2.src.rpm

--- kdebase-4.0.80/apps/konsole/src/main.cpp~	2008-05-21 12:32:54 +0400
+++ kdebase-4.0.80/apps/konsole/src/main.cpp	2008-05-28 19:51:48 +0400
@@ -17,6 +17,8 @@
     02110-1301  USA.
 */
 
+#include <unistd.h>
+
 // Own
 #include "Application.h"
 #include <KDebug>
@@ -89,6 +91,8 @@ extern "C" int KDE_EXPORT kdemain(int ar
     {
         exit(0);
     }
+    gid_t gid = getgid(), egid = getegid();
+    setresgid(gid,gid,egid);
 #ifdef Q_WS_X11 
 	if ( useTransparency() ) 
 	{
@@ -99,12 +103,14 @@ extern "C" int KDE_EXPORT kdemain(int ar
 		getDisplayInformation(display,visual,colormap);
 
 		Application app(display,(Qt::HANDLE)visual,(Qt::HANDLE)colormap);
+		setegid(egid);
 		return app.exec();
 	}
 	else
 #endif 
 	{
     	Application app;
+	setegid(egid);
     	return app.exec();
 	}   
 }
--- kdebase-4.1.3/apps/konsole/src/Pty.cpp~	2008-05-21 12:32:54 +0400
+++ kdebase-4.1.3/apps/konsole/src/Pty.cpp	2008-11-07 17:12:25 +0300
@@ -209,7 +209,10 @@ int Pty::start(const QString& program, 
   
   pty()->setWinSize(_windowLines, _windowColumns);
 
+  gid_t gid = getgid(), egid = getegid();
+  setresgid(gid,gid,egid);
   KProcess::start();
+  setegid(egid);
 
   if (!waitForStarted())
   	return -1;