s3:winbind:idmap_ldap: fix a crash bug in idmap_ldap_unixids_to_sids (#6387)
commit82fd67fa82f455eb1afd884c1f066a9968c60ccc
authorMichael Adam <obnox@samba.org>
Fri, 22 May 2009 09:58:00 +0000 (22 11:58 +0200)
committerKarolin Seeger <kseeger@samba.org>
Tue, 26 May 2009 07:39:47 +0000 (26 09:39 +0200)
treeb2042ec19b8ab175ddf403b6f8fd0b9ab02f626e
parent0dd9545e4fa7a129fb91f6fd08a0de5bb8b0037d
s3:winbind:idmap_ldap: fix a crash bug in idmap_ldap_unixids_to_sids (#6387)

This fixes a crash bug hit when multiple mappings were found by
the ldap search. This crash was caused by an ldap asssertion
in ldap_next_entry because was set to NULL in each iteration.

The corresponding fix was applied to the idmap_ldap_sids_to_unixids()
by Jerry in 2007 (b066668b74768d9ed547f16bf7b6ba6aea5df20a).

This fixes the crash part of bug #6387.

There is a logic part, too:
The problem currently only occurs when multiple mappings are found
for one given unixid. Now winbindd does not crash any more but
it does not correctly handle this situation. It just returns the
last mapping from the ldap search results.
This needs fixing.

Michael
(cherry picked from commit e9010fa366746ec1ae948dbcf3493d446e23b14c)

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 2b6dbddb9cc723fcbd2e4e22a9404d6b4ff805d7)
source3/winbindd/idmap_ldap.c