diff options
| author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-12-02 12:08:26 +0000 |
|---|---|---|
| committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-12-03 10:00:08 +0000 |
| commit | 334ed65e2765062a449897d70925255929eae8a8 (patch) | |
| tree | 3cbd5c8bd1c3ddaa4572d18d72bae33a2c2af756 /Src/params.c | |
| parent | 40067: internal: Document 'cmatcher', parse_cmatcher(), 'comptoend', unsetpar... (diff) | |
| download | zsh-334ed65e2765062a449897d70925255929eae8a8.tar zsh-334ed65e2765062a449897d70925255929eae8a8.tar.gz zsh-334ed65e2765062a449897d70925255929eae8a8.tar.bz2 zsh-334ed65e2765062a449897d70925255929eae8a8.tar.lz zsh-334ed65e2765062a449897d70925255929eae8a8.tar.xz zsh-334ed65e2765062a449897d70925255929eae8a8.tar.zst zsh-334ed65e2765062a449897d70925255929eae8a8.zip | |
40068: Abort execution when setuid/setgid fail.
The incumbent code would print an error message and continue execution
with the previous uid/gid values, not even setting lastval:
% UID=42 id -u; echo $?
zsh: failed to change user ID: operation not permitted
1000
0
%
Diffstat (limited to 'Src/params.c')
| -rw-r--r-- | Src/params.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Src/params.c b/Src/params.c index 21a910190..c64d7486b 100644 --- a/Src/params.c +++ b/Src/params.c @@ -4077,7 +4077,7 @@ uidsetfn(UNUSED(Param pm), zlong x) { #ifdef HAVE_SETUID if (setuid((uid_t)x)) - zwarn("failed to change user ID: %e", errno); + zerr("failed to change user ID: %e", errno); #endif } @@ -4098,7 +4098,7 @@ euidsetfn(UNUSED(Param pm), zlong x) { #ifdef HAVE_SETEUID if (seteuid((uid_t)x)) - zwarn("failed to change effective user ID: %e", errno); + zerr("failed to change effective user ID: %e", errno); #endif } @@ -4119,7 +4119,7 @@ gidsetfn(UNUSED(Param pm), zlong x) { #ifdef HAVE_SETUID if (setgid((gid_t)x)) - zwarn("failed to change group ID: %e", errno); + zerr("failed to change group ID: %e", errno); #endif } @@ -4140,7 +4140,7 @@ egidsetfn(UNUSED(Param pm), zlong x) { #ifdef HAVE_SETEUID if (setegid((gid_t)x)) - zwarn("failed to change effective group ID: %e", errno); + zerr("failed to change effective group ID: %e", errno); #endif } |
