summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/nsswitch/winbindd_util.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c
index ebca273d70..e3f00149f7 100644
--- a/source3/nsswitch/winbindd_util.c
+++ b/source3/nsswitch/winbindd_util.c
@@ -214,10 +214,17 @@ BOOL init_domain_list(void)
result = cache_methods.domain_sid(domain, &domain->sid);
while (!NT_STATUS_IS_OK(result)) {
+
sleep(10);
DEBUG(1,("Retrying startup domain sid fetch for %s\n",
domain->name));
result = cache_methods.domain_sid(domain, &domain->sid);
+
+ /* If we don't call lp_talloc_free() here we end up
+ accumulating memory in the "global" lp_talloc in
+ param/loadparm.c */
+
+ lp_talloc_free();
}
/* get any alternate name for the primary domain */