summaryrefslogtreecommitdiffstats
path: root/abs/core/bash/privmode-setuid-fail.patch
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-10-27 20:28:27 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-10-27 20:28:27 (GMT)
commitf7b823f55a80b1498c30e9f3a47692a2329c4f09 (patch)
tree6de557714e6336282fbc0ab16c6578386dfc6654 /abs/core/bash/privmode-setuid-fail.patch
parent4c2a2e3504f472628285a989c7c9a76be6855f54 (diff)
parent01c1a60f3b7f93b3ed7404196c2cf798c4d8c674 (diff)
downloadlinhes_pkgbuild-f7b823f55a80b1498c30e9f3a47692a2329c4f09.zip
linhes_pkgbuild-f7b823f55a80b1498c30e9f3a47692a2329c4f09.tar.gz
linhes_pkgbuild-f7b823f55a80b1498c30e9f3a47692a2329c4f09.tar.bz2
Merge branch 'testing'
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;