From: Samuel Cabrero Date: Fri, 10 Jun 2022 14:55:43 +0000 (+0200) Subject: s3:libads: Allocate ads->server.ldap_server under ADS_STRUCT talloc context X-Git-Tag: tevent-0.13.0~239 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cc8465f1b79e335d9af6a2c2edf128aa5ce07ec0;p=thirdparty%2Fsamba.git s3:libads: Allocate ads->server.ldap_server 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 c7734442699..2d9bc9435fa 100644 --- a/source3/libads/ads_struct.c +++ b/source3/libads/ads_struct.c @@ -130,8 +130,6 @@ static void ads_destroy(ADS_STRUCT **ads) #ifdef HAVE_LDAP ads_disconnect(*ads); #endif - SAFE_FREE((*ads)->server.ldap_server); - SAFE_FREE((*ads)->auth.realm); SAFE_FREE((*ads)->auth.password); SAFE_FREE((*ads)->auth.user_name); @@ -190,7 +188,12 @@ ADS_STRUCT *ads_init(TALLOC_CTX *mem_ctx, return NULL; } - ads->server.ldap_server = ldap_server? SMB_STRDUP(ldap_server) : NULL; + ads->server.ldap_server = talloc_strdup(ads, ldap_server); + if (ldap_server != NULL && ads->server.ldap_server == NULL) { + DBG_WARNING("Out of memory\n"); + TALLOC_FREE(ads); + return NULL; + } wrap_flags = lp_client_ldap_sasl_wrapping(); if (wrap_flags == -1) {