[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-1748-ge9010fa

Michael Adam obnox at samba.org
Fri May 22 10:08:16 GMT 2009


The branch, master has been updated
       via  e9010fa366746ec1ae948dbcf3493d446e23b14c (commit)
      from  1f5978851627eff9190f42f82acedaf03e5c61e5 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e9010fa366746ec1ae948dbcf3493d446e23b14c
Author: Michael Adam <obnox at samba.org>
Date:   Fri May 22 11:58:00 2009 +0200

    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

-----------------------------------------------------------------------

Summary of changes:
 source3/winbindd/idmap_ldap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 7224589..854fd21 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -892,6 +892,7 @@ static NTSTATUS idmap_ldap_unixids_to_sids(struct idmap_domain *dom,
 	TALLOC_CTX *memctx;
 	struct idmap_ldap_context *ctx;
 	LDAPMessage *result = NULL;
+	LDAPMessage *entry = NULL;
 	const char *uidNumber;
 	const char *gidNumber;
 	const char **attr_list;
@@ -979,7 +980,6 @@ again:
 	}
 
 	for (i = 0; i < count; i++) {
-		LDAPMessage *entry = NULL;
 		char *sidstr = NULL;
 	       	char *tmp = NULL;
 		enum id_type type;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list