From 74c8441e9d21f317b74032b5bdd17c8d2f78c015 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 6 Aug 2002 03:26:58 +0000 Subject: fixed a memory corruption bug in ads_try_dns() (This used to be commit 2ee0abb50f25e5a4529d8c9409c979a7a00e5984) --- source3/libads/ldap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index a8126faffe..c8d940f331 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -89,27 +89,27 @@ static BOOL ads_try_dns(ADS_STRUCT *ads) realm = ads->server.realm; if (!realm || !*realm) { - SAFE_FREE(realm); realm = lp_realm(); } if (!realm || !*realm) { - SAFE_FREE(realm); realm = ads->server.workgroup; } if (!realm || !*realm) { - SAFE_FREE(realm); realm = lp_workgroup(); } if (!realm) { return False; } + realm = smb_xstrdup(realm); DEBUG(6,("ads_try_dns: looking for realm '%s'\n", realm)); if (ldap_domain2hostlist(realm, &list) != LDAP_SUCCESS) { + SAFE_FREE(realm); return False; } DEBUG(6,("ads_try_dns: ldap realm '%s' host list '%s'\n", realm, list)); + SAFE_FREE(realm); count = count_chars(list, ' ') + 1; ip_list = malloc(count * sizeof(struct ldap_ip)); -- cgit