--- 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 + // Own #include "Application.h" #include @@ -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;