From cc8465f1b79e335d9af6a2c2edf128aa5ce07ec0 Mon Sep 17 00:00:00 2001 From: Samuel Cabrero Date: Fri, 10 Jun 2022 16:55:43 +0200 Subject: s3:libads: Allocate ads->server.ldap_server under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero Reviewed-by: Jeremy Allison --- source3/libads/ads_struct.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'source3/libads') 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) { -- cgit v1.2.1