diff options
author | Pietro Cerutti <gahr@FreeBSD.org> | 2013-04-12 14:19:44 +0000 |
---|---|---|
committer | Pietro Cerutti <gahr@FreeBSD.org> | 2013-04-12 14:19:44 +0000 |
commit | b9e6237dabc02e4b40624deb8a3244f79a66eb90 (patch) | |
tree | 57625913c5e09a8645adf933e31b7de573131cdf /usr.bin/at | |
parent | 8f99bb74a374121d5426ee8f8c399a27867e7997 (diff) | |
download | src-test2-b9e6237dabc02e4b40624deb8a3244f79a66eb90.tar.gz src-test2-b9e6237dabc02e4b40624deb8a3244f79a66eb90.zip |
- Switch order of setting real uid and gid. If we set uid first, then we
don't have enough privileges to set gid.
This looks like a long standing bug, just recently revealed by r241852.
Approved by: cognet
Notes
Notes:
svn path=/head/; revision=249404
Diffstat (limited to 'usr.bin/at')
-rw-r--r-- | usr.bin/at/privs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.bin/at/privs.h b/usr.bin/at/privs.h index 297c2529ac47..2b0d34a19cbf 100644 --- a/usr.bin/at/privs.h +++ b/usr.bin/at/privs.h @@ -99,8 +99,8 @@ gid_t real_gid, effective_gid; PRIV_START \ effective_uid = (a); \ effective_gid = (b); \ - if (setreuid((uid_t)-1, effective_uid) != 0) err(1, "setreuid failed"); \ if (setregid((gid_t)-1, effective_gid) != 0) err(1, "setregid failed"); \ + if (setreuid((uid_t)-1, effective_uid) != 0) err(1, "setreuid failed"); \ PRIV_END \ } #endif |