summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-03-01 15:16:33 +0000
committerGerald Carter <jerry@samba.org>2002-03-01 15:16:33 +0000
commitcdfdd5576da844dc8965f9922e0401bd695aa94d (patch)
tree4cdf6106c4811f5cb8e406115e25185166c3d4ac
parentc4a585491076aa6a39d9e3757b1c44f0b107c5c6 (diff)
downloadsamba-cdfdd5576da844dc8965f9922e0401bd695aa94d.tar.gz
samba-cdfdd5576da844dc8965f9922e0401bd695aa94d.tar.xz
samba-cdfdd5576da844dc8965f9922e0401bd695aa94d.zip
off by one fix from Peter Haight
-rw-r--r--source/passdb/pdb_ldap.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c
index 0fcda53adb5..a747ca40b1b 100644
--- a/source/passdb/pdb_ldap.c
+++ b/source/passdb/pdb_ldap.c
@@ -56,6 +56,7 @@ struct ldap_enum_info {
LDAP *ldap_struct;
LDAPMessage *result;
LDAPMessage *entry;
+ int index;
};
static struct ldap_enum_info global_ldap_ent;
@@ -705,6 +706,7 @@ BOOL pdb_setsampwent(BOOL update)
global_ldap_ent.entry = ldap_first_entry(global_ldap_ent.ldap_struct,
global_ldap_ent.result);
+ global_ldap_ent.index = -1;
return True;
}
@@ -731,8 +733,11 @@ BOOL pdb_getsampwent(SAM_ACCOUNT * user)
if (!global_ldap_ent.entry)
return False;
- global_ldap_ent.entry = ldap_next_entry(global_ldap_ent.ldap_struct,
- global_ldap_ent.entry);
+ global_ldap_ent.index++;
+ if (global_ldap_ent.index > 0)
+ {
+ global_ldap_ent.entry = ldap_next_entry(global_ldap_ent.ldap_struct, global_ldap_ent.entry);
+ }
if (global_ldap_ent.entry != NULL)
{