From: Samuel Cabrero Date: Wed, 15 Jun 2022 10:03:56 +0000 (+0200) Subject: s3:libads: Allocate ads->config.ldap_server_name under ADS_STRUCT talloc context X-Git-Tag: tevent-0.13.0~228 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcf6578dff3a51bf04c1d969f8b2a8253da49083;p=thirdparty%2Fsamba.git s3:libads: Allocate ads->config.ldap_server_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero Reviewed-by: Jeremy Allison --- diff --git a/source3/libads/ads_struct.c b/source3/libads/ads_struct.c index 79aa517e123..d734d47e653 100644 --- a/source3/libads/ads_struct.c +++ b/source3/libads/ads_struct.c @@ -153,7 +153,6 @@ static void ads_destroy(ADS_STRUCT **ads) #ifdef HAVE_LDAP ads_disconnect(*ads); #endif - SAFE_FREE((*ads)->config.ldap_server_name); SAFE_FREE((*ads)->config.server_site_name); SAFE_FREE((*ads)->config.client_site_name); SAFE_FREE((*ads)->config.schema_path); diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index a471ac2f071..1693ab1debe 100755 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -294,7 +294,7 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc, TALLOC_FREE(ads->config.realm); TALLOC_FREE(ads->config.bind_path); - SAFE_FREE(ads->config.ldap_server_name); + TALLOC_FREE(ads->config.ldap_server_name); SAFE_FREE(ads->config.server_site_name); SAFE_FREE(ads->config.client_site_name); TALLOC_FREE(ads->server.workgroup); @@ -305,7 +305,14 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc, goto out; } - ads->config.ldap_server_name = SMB_STRDUP(cldap_reply.pdc_dns_name); + ads->config.ldap_server_name = talloc_strdup(ads, + cldap_reply.pdc_dns_name); + if (ads->config.ldap_server_name == NULL) { + DBG_WARNING("Out of memory\n"); + ret = false; + goto out; + } + ads->config.realm = talloc_asprintf_strupper_m(ads, "%s", cldap_reply.dns_domain);