Fix permission dropping

This commit is contained in:
project-repo 2020-05-29 16:13:52 +02:00
commit 35a15670ea

View file

@ -88,13 +88,14 @@ sig_chld_handler(int signal) {
static bool
drop_permissions(void) {
if(getuid() != geteuid() || getgid() != getegid()) {
if(setuid(getuid()) != 0 || setgid(getgid()) != 0) {
// Set gid before uid
if(setgid(getgid()) != 0 || setuid(getuid()) != 0) {
wlr_log(WLR_ERROR, "Unable to drop root, refusing to start");
return false;
}
}
if(setuid(0) != -1) {
if(setgid(0) != -1 || setuid(0) != -1) {
wlr_log(WLR_ERROR, "Unable to drop root (we shouldn't be able to "
"restore it after setuid), refusing to start");
return false;