summaryrefslogtreecommitdiff
path: root/nslcd/hackers_watch.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/hackers_watch.c')
-rw-r--r--nslcd/hackers_watch.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/nslcd/hackers_watch.c b/nslcd/hackers_watch.c
index 31e7e3b..1516593 100644
--- a/nslcd/hackers_watch.c
+++ b/nslcd/hackers_watch.c
@@ -50,7 +50,8 @@ hackers_init(const char *yamldir, struct session *sess) {
sess->in_wd_yaml = inotify_add_watch(sess->in_fd, yamldir, EVENT_CHILD_ANY);
sess->in_wd_home = inotify_add_watch(sess->in_fd, "/home" , EVENT_CHILD_ADD);
- asprintf(&glob_pattern, "%s/*.yml", yamldir);
+ if (asprintf(&glob_pattern, "%s/*.yml", yamldir) < 0)
+ return -1;
glob(glob_pattern, 0, NULL, &glob_results);
free(glob_pattern);
@@ -136,9 +137,10 @@ worker_handle_del_yaml(struct session *sess, uid_t uid) {
pthread_rwlock_unlock(&(sess->lock));
}
-void
+int
hackers_worker(struct session *sess) {
- chdir(sess->yamldir);
+ if (chdir(sess->yamldir) < 0)
+ return -1;
for (INOTIFY_ITERATOR(sess->in_fd, event)) {
if (event->wd == sess->in_wd_yaml) {
/* handle updates to yaml files */
@@ -183,4 +185,5 @@ hackers_worker(struct session *sess) {
}
}
}
+ return -1;
}