Update patch 14_SECURITY_setuid.diff.

Parts of patch 14_SECURITY_setuid.diff applying to xf86dga and xinit are now
included upstream.
This commit is contained in:
Julien Cristau 2007-02-11 08:30:30 +01:00
parent 3952d8d850
commit bc87b470c2
2 changed files with 3 additions and 41 deletions

4
debian/changelog vendored
View File

@ -12,8 +12,10 @@ xbase-clients (1:7.2.ds1-1) UNRELEASED; urgency=low
* Update to xedit 1.0.2.
* Update to xev 1.0.2.
* Update to xf86dga 1.0.2.
+ relevant part dropped from 14_SECURITY_setuid.diff.
* Update to xfontsel 1.0.2.
* Update to xinit 1.0.3.
+ relevant part dropped from 14_SECURITY_setuid.diff.
* Update to xkbcomp 1.0.3.
* Update to xlsfonts 1.0.2.
* Update to xmodmap 1.0.2.
@ -26,7 +28,7 @@ xbase-clients (1:7.2.ds1-1) UNRELEASED; urgency=low
apply to xprop, xwd and xwininfo as well, since they all use a copy of
dsimple.c.
-- Julien Cristau <jcristau@debian.org> Sun, 11 Feb 2007 08:17:47 +0100
-- Julien Cristau <jcristau@debian.org> Sun, 11 Feb 2007 08:27:31 +0100
xbase-clients (1:7.1.ds1-2) unstable; urgency=low

View File

@ -1,43 +1,3 @@
Index: xbase-clients/xf86dga/dga.c
===================================================================
--- xbase-clients.orig/xf86dga/dga.c 2006-06-30 01:06:00.000000000 -0400
+++ xbase-clients/xf86dga/dga.c 2006-06-30 01:06:50.000000000 -0400
@@ -16,6 +16,7 @@
#include <X11/Xmd.h>
#include <X11/extensions/xf86dga.h>
#include <ctype.h>
+#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
@@ -141,7 +142,10 @@
#ifndef __UNIXOS2__
/* Give up root privs */
- setuid(getuid());
+ if (setuid(getuid()) == -1) {
+ fprintf(stderr, "Unable to change uid: %s\n", strerror(errno));
+ exit(2);
+ }
#endif
XF86DGASetViewPort(dis, DefaultScreen(dis), 0, 0);
Index: xbase-clients/xinit/xinit.c
===================================================================
--- xbase-clients.orig/xinit/xinit.c 2006-06-30 01:07:11.000000000 -0400
+++ xbase-clients/xinit/xinit.c 2006-06-30 01:07:49.000000000 -0400
@@ -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__
Index: xbase-clients/xload/xload.c
===================================================================
--- xbase-clients.orig/xload/xload.c 2006-06-30 01:08:01.000000000 -0400