diff options
Diffstat (limited to 'usermux/mux.c')
-rw-r--r-- | usermux/mux.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/usermux/mux.c b/usermux/mux.c index 722ba2ec..12da1e14 100644 --- a/usermux/mux.c +++ b/usermux/mux.c @@ -1,6 +1,7 @@ /* Root usermux node - Copyright (C) 1997,98,99,2000,02 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000, 2002, 2008 + Free Software Foundation, Inc. Written by Miles Bader <miles@gnu.org> This file is part of the GNU Hurd. @@ -384,10 +385,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 |