diff options
| -rw-r--r-- | wlock.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -392,10 +392,16 @@ main(int argc, char *argv[]) disable_oom_killer(); #endif - /* TODO: Drop privileges */ - setup(); + + if (setgroups(0, NULL) < 0) + die("slock: setgroups: %s\n", strerror(errno)); + if (setgid(grp->gr_gid) < 0) + die("slock: setgid: %s\n", strerror(errno)); + if (setuid(pw->pw_uid) < 0) + die("slock: setuid: %s\n", strerror(errno)); + fds[0].fd = wl_display_get_fd(client.display); fds[0].events = POLLIN; fds[1].fd = client.repeat.timer; |