summaryrefslogtreecommitdiff
path: root/nslcd/db_shadow.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/db_shadow.c')
-rw-r--r--nslcd/db_shadow.c7
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;