From: Samuel Cabrero Date: Wed, 15 Jun 2022 10:16:23 +0000 (+0200) Subject: s3:libads: Allocate ads->config.client_site_name under ADS_STRUCT talloc context X-Git-Tag: tevent-0.13.0~226 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fe2cf1b206854c9351377d9769b96bea6e79b91;p=thirdparty%2Fsamba.git s3:libads: Allocate ads->config.client_site_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 2a583efb685..941f216359d 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.client_site_name); SAFE_FREE((*ads)->config.schema_path); SAFE_FREE((*ads)->config.config_path); } diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 0a9a59447bb..8a76b8c7d32 100755 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -296,7 +296,7 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc, TALLOC_FREE(ads->config.bind_path); TALLOC_FREE(ads->config.ldap_server_name); TALLOC_FREE(ads->config.server_site_name); - SAFE_FREE(ads->config.client_site_name); + TALLOC_FREE(ads->config.client_site_name); TALLOC_FREE(ads->server.workgroup); if (!check_cldap_reply_required_flags(cldap_reply.server_type, @@ -342,7 +342,12 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc, if (*cldap_reply.client_site) { ads->config.client_site_name = - SMB_STRDUP(cldap_reply.client_site); + talloc_strdup(ads, cldap_reply.client_site); + if (ads->config.client_site_name == NULL) { + DBG_WARNING("Out of memory\n"); + ret = false; + goto out; + } } ads->server.workgroup = talloc_strdup(ads, cldap_reply.domain_name);