xorg-x11-xinit/xinit-1.0.2-setuid.diff

20 lines
544 B
Diff

Index: xinit.c
===================================================================
RCS file: /cvs/xorg/app/xinit/xinit.c,v
retrieving revision 1.4
diff -u -r1.4 xinit.c
--- xinit.c 4 Oct 2005 01:27:34 -0000 1.4
+++ xinit.c 19 Jun 2006 21:31:58 -0000
@@ -692,7 +692,10 @@
startClient(char *client[])
{
if ((clientpid = vfork()) == 0) {
- setuid(getuid());
+ if (setuid(getuid()) == -1) {
+ Error("cannot change uid: %s\n", strerror(errno));
+ _exit(ERR_EXIT);
+ }
setpgrp(0, getpid());
environ = newenviron;
#ifdef __UNIXOS2__