summaryrefslogtreecommitdiffstats
path: root/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch b/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch
deleted file mode 100644
index a3758dd..0000000
--- a/sys-apps/util-linux/files/util-linux-2.13-setuid-checks.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Ludwig Nussel <ludwig.nussel@suse.de>
-Date: Thu, 20 Sep 2007 12:57:20 +0000 (+0200)
-Subject: mount: doesn't drop privileges properly when calling helpers
-X-Git-Url: http://git.kernel.org/?p=utils%2Futil-linux-ng%2Futil-linux-ng.git;a=commitdiff_plain;h=ebbeb2c7ac1b00b6083905957837a271e80b187e
-
-mount: doesn't drop privileges properly when calling helpers
-
-{,u}mount calls setuid() and setgid() in the wrong order and doesn't checking
-the return value of set{u,g}id(() when running helpers like mount.nfs.
-
-Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de>
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
-
-diff --git a/mount/mount.c b/mount/mount.c
-index 40699f3..5bc2b30 100644
---- a/mount/mount.c
-+++ b/mount/mount.c
-@@ -634,8 +634,12 @@ check_special_mountprog(const char *spec, const char *node, const char *type, in
- char *oo, *mountargs[10];
- int i = 0;
-
-- setuid(getuid());
-- setgid(getgid());
-+ if(setgid(getgid()) < 0)
-+ die(EX_FAIL, _("mount: cannot set group id: %s"), strerror(errno));
-+
-+ if(setuid(getuid()) < 0)
-+ die(EX_FAIL, _("mount: cannot set user id: %s"), strerror(errno));
-+
- oo = fix_opts_string (flags, extra_opts, NULL);
- mountargs[i++] = mountprog; /* 1 */
- mountargs[i++] = (char *) spec; /* 2 */
-diff --git a/mount/umount.c b/mount/umount.c
-index b3100c9..3221619 100644
---- a/mount/umount.c
-+++ b/mount/umount.c
-@@ -102,8 +102,12 @@ check_special_umountprog(const char *spec, const char *node,
- char *umountargs[8];
- int i = 0;
-
-- setuid(getuid());
-- setgid(getgid());
-+ if(setgid(getgid()) < 0)
-+ die(EX_FAIL, _("umount: cannot set group id: %s"), strerror(errno));
-+
-+ if(setuid(getuid()) < 0)
-+ die(EX_FAIL, _("umount: cannot set user id: %s"), strerror(errno));
-+
- umountargs[i++] = umountprog;
- umountargs[i++] = xstrdup(node);
- if (nomtab)