summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2014-09-17 13:23:11 -0700
committerChristof Schmitt <cs@samba.org>2014-10-01 16:56:49 +0200
commit304e3904f0bfca468862e576fde9b0922c66de07 (patch)
treef1b09ba1e6d42c62af940ea83492957c912542e2 /source3
parentfa9630e368df2446c5893b2fe51bada7a38760aa (diff)
downloadsamba-304e3904f0bfca468862e576fde9b0922c66de07.tar.gz
samba-304e3904f0bfca468862e576fde9b0922c66de07.tar.xz
samba-304e3904f0bfca468862e576fde9b0922c66de07.zip
idmap_rfc2307: Fix a crash after connection problem to DC
When the connection to the DC has a problem, the code behind ads_do_search_retry closes the current connection and opens a new one. The new connection has a new struct LDAP to represent the connection. In this case, the LDAP pointer in the idmap_rfc2307_context becomes invalid. Fix this problem by updating the local pointer after calling ads_do_search_retry. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/winbindd/idmap_rfc2307.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c
index 2b7a593a15..db8bab6335 100644
--- a/source3/winbindd/idmap_rfc2307.c
+++ b/source3/winbindd/idmap_rfc2307.c
@@ -103,6 +103,7 @@ static NTSTATUS idmap_rfc2307_ads_search(struct idmap_rfc2307_context *ctx,
status = ads_do_search_retry(ctx->ads, bind_path,
LDAP_SCOPE_SUBTREE, expr, attrs, result);
+ ctx->ldap = ctx->ads->ldap.ld;
return ads_ntstatus(status);
}