summaryrefslogtreecommitdiffstats
path: root/abs/core/bash/privmode-setuid-fail.patch
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-10-01 17:15:37 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-10-01 17:15:37 (GMT)
commit673c045f6d88e17938c25c3fd4a0a78ea0cf0ee7 (patch)
tree57c1c9e7d4a71071d3c5e67f7e3ff8a2671b0592 /abs/core/bash/privmode-setuid-fail.patch
parent0cb1a73b8e97817b28c4b12fc849731d0f33bef2 (diff)
downloadlinhes_pkgbuild-673c045f6d88e17938c25c3fd4a0a78ea0cf0ee7.zip
linhes_pkgbuild-673c045f6d88e17938c25c3fd4a0a78ea0cf0ee7.tar.gz
linhes_pkgbuild-673c045f6d88e17938c25c3fd4a0a78ea0cf0ee7.tar.bz2
bash: update to 4.3.027
closes #977
Diffstat (limited to 'abs/core/bash/privmode-setuid-fail.patch')
-rw-r--r--abs/core/bash/privmode-setuid-fail.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/abs/core/bash/privmode-setuid-fail.patch b/abs/core/bash/privmode-setuid-fail.patch
new file mode 100644
index 0000000..059857d
--- /dev/null
+++ b/abs/core/bash/privmode-setuid-fail.patch
@@ -0,0 +1,29 @@
+*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500
+--- shell.c 2014-06-06 16:29:01.000000000 -0400
+***************
+*** 1227,1232 ****
+ disable_priv_mode ()
+ {
+! setuid (current_user.uid);
+! setgid (current_user.gid);
+ current_user.euid = current_user.uid;
+ current_user.egid = current_user.gid;
+--- 1229,1246 ----
+ disable_priv_mode ()
+ {
+! int e;
+!
+! if (setuid (current_user.uid) < 0)
+! {
+! e = errno;
+! sys_error (_("cannot set uid to %d: effective uid %d"), current_user.uid, current_user.euid);
+! #if defined (EXIT_ON_SETUID_FAILURE)
+! if (e == EAGAIN)
+! exit (e);
+! #endif
+! }
+! if (setgid (current_user.gid) < 0)
+! sys_error (_("cannot set gid to %d: effective gid %d"), current_user.gid, current_user.egid);
+!
+ current_user.euid = current_user.uid;
+ current_user.egid = current_user.gid;