diff options
author | Samuel Cabrero <scabrero@samba.org> | 2022-06-10 16:55:43 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2022-06-27 15:50:30 +0000 |
commit | cc8465f1b79e335d9af6a2c2edf128aa5ce07ec0 (patch) | |
tree | 45beffeb2a585ec98b7a599e30a42bfc35551d5e /source3/libads | |
parent | 5ec9b8ef31727f8f35f1c5309598e59f5d283e1b (diff) | |
download | samba-cc8465f1b79e335d9af6a2c2edf128aa5ce07ec0.tar.gz |
s3:libads: Allocate ads->server.ldap_server under ADS_STRUCT talloc context
Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/libads')
-rw-r--r-- | source3/libads/ads_struct.c | 9 |
1 files changed, 6 insertions, 3 deletions
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) { |