aboutsummaryrefslogtreecommitdiff
path: root/usermux/mux.c
diff options
context:
space:
mode:
Diffstat (limited to 'usermux/mux.c')
-rw-r--r--usermux/mux.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/usermux/mux.c b/usermux/mux.c
index 722ba2ec..d2dd366b 100644
--- a/usermux/mux.c
+++ b/usermux/mux.c
@@ -384,10 +384,14 @@ lookup_user (struct usermux *mux, const char *user, struct node **node)
if (was_cached)
return 0;
- else if (getpwnam_r (user, &_pw, pwent_data, sizeof pwent_data, &pw) == 0)
- return lookup_pwent (mux, user, pw, node);
- else
- return ENOENT;
+ else
+ {
+ if (getpwnam_r (user, &_pw, pwent_data, sizeof pwent_data, &pw))
+ return ENOENT;
+ if (pw == NULL)
+ return ENOENT;
+ return lookup_pwent (mux, user, pw, node);
+ }
}
/* This should sync the entire remote filesystem. If WAIT is set, return