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);