summaryrefslogtreecommitdiff
path: root/nslcd/hackers_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/hackers_parse.c')
-rw-r--r--nslcd/hackers_parse.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/nslcd/hackers_parse.c b/nslcd/hackers_parse.c
index 7d63995..2a98fc1 100644
--- a/nslcd/hackers_parse.c
+++ b/nslcd/hackers_parse.c
@@ -126,7 +126,8 @@ load_user_password(struct passwd *user) {
ssize_t line_len;
size_t line_cap = 0;
- asprintf(&filename, "%s/.password", user->pw_dir);
+ if (asprintf(&filename, "%s/.password", user->pw_dir) < 0)
+ goto nopassword;
if ((file = fopen(filename, "r")) == NULL)
goto nopassword;
// TODO: check permissions on 'file'
@@ -175,7 +176,8 @@ load_user_yaml(const char *filename, struct passwd *user) {
yaml_node_t *val = NODE(pair->value);
if (strcmp("username", STR_VALUE(key))==0) {
user->pw_name = strdup(STR_VALUE(val));
- asprintf(&(user->pw_dir), "/home/%s", user->pw_name);
+ if (asprintf(&(user->pw_dir), "/home/%s", user->pw_name) < 0)
+ goto error;
flags |= PW_NAME | PW_DIR;
}
if (strcmp("fullname", STR_VALUE(key))==0) {