From: Simo Sorce Date: Thu, 3 May 2007 12:28:25 +0000 (+0000) Subject: r22646: segfault fix in idmap_ldap.c from 3_0_25 X-Git-Tag: samba-misc-tags/initial-v3-0-unstable~562 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=565d7d0b18f18ba11f186667df95bc608a179efa;p=thirdparty%2Fsamba.git r22646: segfault fix in idmap_ldap.c from 3_0_25 --- diff --git a/source/nsswitch/idmap_ldap.c b/source/nsswitch/idmap_ldap.c index 2fb9a17d3f5..45d2b344afa 100644 --- a/source/nsswitch/idmap_ldap.c +++ b/source/nsswitch/idmap_ldap.c @@ -80,11 +80,17 @@ static NTSTATUS get_credentials( TALLOC_CTX *mem_ctx, tmp = lp_parm_const_string(-1, config_option, "ldap_user_dn", NULL); if ( tmp ) { - secret = idmap_fetch_secret("ldap", false, dom->name, tmp); + if (!dom) { + /* only the alloc backend is allowed to pass in a NULL dom */ + secret = idmap_fetch_secret("ldap", true, NULL, tmp); + } else { + secret = idmap_fetch_secret("ldap", false, dom->name, tmp); + } + if (!secret) { DEBUG(0, ("get_credentials: Unable to fetch " "auth credentials for %s in %s\n", - tmp, dom->name)); + tmp, (dom==NULL)?"ALLOC":dom->name)); ret = NT_STATUS_ACCESS_DENIED; goto done; }