diff options
-rw-r--r-- | qarshd.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -67,8 +67,16 @@ setup_user(char *user, char *group) setgid(pw->pw_gid); initgroups(pw->pw_name, pw->pw_gid); } + /* setuid is last so we can still do setgid and initgroups */ setuid(pw->pw_uid); + + if (chdir(pw->pw_dir) < 0) { + syslog(LOG_WARNING, "Unable to chdir() to %s: %s\n", + pw->pw_dir, strerror(errno)); + return 0; + } + return 1; } |