diff options
author | Gerald Carter <jerry@samba.org> | 2002-03-01 15:16:33 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-03-01 15:16:33 +0000 |
commit | cdfdd5576da844dc8965f9922e0401bd695aa94d (patch) | |
tree | 4cdf6106c4811f5cb8e406115e25185166c3d4ac /source/passdb/pdb_ldap.c | |
parent | c4a585491076aa6a39d9e3757b1c44f0b107c5c6 (diff) | |
download | samba-cdfdd5576da844dc8965f9922e0401bd695aa94d.tar.gz samba-cdfdd5576da844dc8965f9922e0401bd695aa94d.tar.xz samba-cdfdd5576da844dc8965f9922e0401bd695aa94d.zip |
off by one fix from Peter Haight
Diffstat (limited to 'source/passdb/pdb_ldap.c')
-rw-r--r-- | source/passdb/pdb_ldap.c | 9 |
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) { |