From ac1642508fb2f4f8e628e3309a89624a8b2ec1bf Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 10 Sep 2007 19:14:22 +0000 Subject: [PATCH] r25063: Fix segfault in smbldp_set_creds when we want to use anonymous, the code was not passing in the "anon" flag correctly and was passing NULL pointers. (This used to be commit 6316a9c14d8bc467c84c1604248a9e30abaacd2f) --- source3/nsswitch/idmap_ldap.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source3/nsswitch/idmap_ldap.c b/source3/nsswitch/idmap_ldap.c index 7f0747068bc..3e6e65727e3 100644 --- a/source3/nsswitch/idmap_ldap.c +++ b/source3/nsswitch/idmap_ldap.c @@ -78,6 +78,7 @@ static NTSTATUS get_credentials( TALLOC_CTX *mem_ctx, char *secret = NULL; const char *tmp = NULL; char *user_dn = NULL; + bool anon = false; /* assume anonymous if we don't have a specified user */ @@ -106,7 +107,7 @@ static NTSTATUS get_credentials( TALLOC_CTX *mem_ctx, if (!fetch_ldap_pw(&user_dn, &secret)) { DEBUG(2, ("get_credentials: Failed to lookup ldap " "bind creds. Using anonymous connection.\n")); - *dn = talloc_strdup(mem_ctx, ""); + anon = true; } else { *dn = talloc_strdup(mem_ctx, user_dn); SAFE_FREE( user_dn ); @@ -114,10 +115,10 @@ static NTSTATUS get_credentials( TALLOC_CTX *mem_ctx, } } - smbldap_set_creds(ldap_state, false, *dn, secret); + smbldap_set_creds(ldap_state, anon, *dn, secret); ret = NT_STATUS_OK; - done: +done: SAFE_FREE(secret); return ret; -- 2.11.4.GIT