[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#442879: patch



Here's the patch I used to get it working again.


diff -u -p /home/gno/.emacs.backup/\!home\!gno\!xorg-7.3\+10\!debian\!local\!xserver-wrapper.c\~ /home/gno/xorg-7.3\+10/debian/local/xserver-wrapper.c
--- /home/gno/.emacs.backup/!home!gno!xorg-7.3+10!debian!local!xserver-wrapper.c~                2007-12-03 20:52:57.000000000 -0800
+++ /home/gno/xorg-7.3+10/debian/local/xserver-wrapper.c                                         2008-03-14 23:23:10.000000000 -0700
@@ -324,10 +324,14 @@ main(int argc, char **argv)
 
     for (i = 1; i < argc; i++) {
       if (!strcmp(argv[i], "-config") || !strcmp(argv[i], "-xf86config")) {
-        if (setuid(getuid())) {
-          perror("X unable to drop setuid privileges for alternate config");
-          exit(1);
-        }
+        if (i+1 > argc
+            || strstr(argv[i+1],"Xwrapper.config")
+            || strstr(argv[i+1],"..")) {
+          if (setuid(getuid())) {
+            perror("X unable to drop setuid privileges for alternate config");
+            exit(1);
+          }
+        } 
       } else if (strlen(argv[i]) > 256) {
         if (setuid(getuid())) {
           perror("X unable to drop setuid privileges for suspiciously long "





Reply to: