summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-08-06 03:26:58 +0000
committerAndrew Tridgell <tridge@samba.org>2002-08-06 03:26:58 +0000
commit2ee0abb50f25e5a4529d8c9409c979a7a00e5984 (patch)
treed57b218c69ebc3d35aec01c4e66bd3678f360441
parent2f46bdeb4fa1d32fe948af5d7fa80480ff2d2c86 (diff)
downloadsamba-2ee0abb50f25e5a4529d8c9409c979a7a00e5984.tar.gz
samba-2ee0abb50f25e5a4529d8c9409c979a7a00e5984.tar.xz
samba-2ee0abb50f25e5a4529d8c9409c979a7a00e5984.zip
fixed a memory corruption bug in ads_try_dns()
-rw-r--r--source/libads/ldap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/libads/ldap.c b/source/libads/ldap.c
index a8126faffe4..c8d940f331d 100644
--- a/source/libads/ldap.c
+++ b/source/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));