From: Volker Lendecke Date: Thu, 5 Jun 2008 08:38:58 +0000 (+0200) Subject: Fix a memleak caused by a crappy get_sorted_dc_list() API X-Git-Tag: samba-3.3.0pre1~1028 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ea03a1e95a30e321e390bef9408a1215711de07;p=thirdparty%2Fsamba.git Fix a memleak caused by a crappy get_sorted_dc_list() API --- diff --git a/source/winbindd/winbindd_cm.c b/source/winbindd/winbindd_cm.c index 312d30371fe..ae51c268bd7 100644 --- a/source/winbindd/winbindd_cm.c +++ b/source/winbindd/winbindd_cm.c @@ -1167,9 +1167,20 @@ static bool get_dcs(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, sitename = sitename_fetch(domain->alt_name); if (sitename) { + NTSTATUS status; /* Do the site-specific AD dns lookup first. */ - get_sorted_dc_list(domain->alt_name, sitename, &ip_list, &iplist_size, True); + status = get_sorted_dc_list(domain->alt_name, + sitename, &ip_list, + &iplist_size, True); + if (!NT_STATUS_IS_OK(status)) { + /* + * Work around a crappy about-to-be-replaced + * get_sorted_dc_list error handling :-) + */ + SAFE_FREE(ip_list); + iplist_size = 0; + } for ( i=0; i