From dbed3183c86346b8816589c7d0448c675cc1c196 Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Wed, 17 Sep 2014 13:23:11 -0700 Subject: [PATCH] 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 --- source3/winbindd/idmap_rfc2307.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c index 2b7a593..db8bab6 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); } -- 1.7.1