Index: soundserver/artswrapper.c =================================================================== --- soundserver/artswrapper.c (revision 546970) +++ soundserver/artswrapper.c (working copy) @@ -95,6 +95,10 @@ int main(int argc, char **argv) #else setreuid(-1, getuid()); #endif + if (geteuid() != getuid()) { + perror("setuid()"); + return 2; + } } if(argc == 0) Index: soundserver/crashhandler.cc =================================================================== --- soundserver/crashhandler.cc (revision 546970) +++ soundserver/crashhandler.cc (working copy) @@ -196,7 +196,12 @@ CrashHandler::defaultCrashHandler (int s argv[i++] = NULL; setgid(getgid()); - setuid(getuid()); + if (getuid() != geteuid()) + setuid(getuid()); + if (getuid() != geteuid()) { + perror("setuid()"); + exit(255); + } execvp(crashApp, argv);