diff options
author | Andrew Tridgell <tridge@samba.org> | 2002-08-06 03:26:58 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2002-08-06 03:26:58 +0000 |
commit | 2ee0abb50f25e5a4529d8c9409c979a7a00e5984 (patch) | |
tree | d57b218c69ebc3d35aec01c4e66bd3678f360441 | |
parent | 2f46bdeb4fa1d32fe948af5d7fa80480ff2d2c86 (diff) | |
download | samba-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.c | 6 |
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)); |