summaryrefslogtreecommitdiffstats
path: root/qarshd.c
diff options
context:
space:
mode:
authorDean Jansa <djansa@redhat.com>2008-06-27 16:18:35 +0000
committerNathan Straz <nstraz@redhat.com>2008-09-23 09:37:47 -0400
commit423ad02026a37dc128e0b879cadf9dbaf6377af7 (patch)
treeaf1084dbc8affb09ade48b640fab06223f71c93b /qarshd.c
parent88e19aecd9900ea4e361058d7779e97427f8e9fb (diff)
downloadqarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.tar.gz
qarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.tar.xz
qarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.zip
chdir() to users home dir
Diffstat (limited to 'qarshd.c')
-rw-r--r--qarshd.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/qarshd.c b/qarshd.c
index 8d79e79..84be036 100644
--- a/qarshd.c
+++ b/qarshd.c
@@ -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;
}