diff options
Diffstat (limited to 'nslcd/db_shadow.c')
-rw-r--r-- | nslcd/db_shadow.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/nslcd/db_shadow.c b/nslcd/db_shadow.c index d7adf6c..4e4d8e1 100644 --- a/nslcd/db_shadow.c +++ b/nslcd/db_shadow.c @@ -90,12 +90,13 @@ NSLCD_HANDLE_UID(SHADOW, BYNAME static size_t i = 0; for (; i < session->cnt; i++) { - if (session->users[i].pw_uid > 0 && + if (session->users[i].pw_uid != UID_INVALID && STR_CMP(name, session->users[i].pw_name)==0) { *rcp = 0; + size_t n = i; i = session->cnt; - passwd2shadow(&(session->users[i]), &ret); + passwd2shadow(&(session->users[n]), &ret); return &ret; } } @@ -116,7 +117,7 @@ NSLCD_HANDLE_UID(SHADOW, ALL static size_t i = 0; for (; i < session->cnt; i++) { - if (session->users[i].pw_uid > 0) { + if (session->users[i].pw_uid != UID_INVALID) { *rcp = 0; passwd2shadow(&(session->users[i]), &ret); return &ret; |