From: Samuel Cabrero Date: Mon, 13 Jun 2022 15:13:20 +0000 (+0200) Subject: s3:libads: Allocate ads->auth.ccache_name under ADS_STRUCT talloc context X-Git-Tag: tevent-0.13.0~233 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ed784ed07e9eca5d5c653e8c826fd228d9182f8a;p=thirdparty%2Fsamba.git s3:libads: Allocate ads->auth.ccache_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 e4739d7fd11..4e9a2d33c08 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)->auth.ccache_name); - SAFE_FREE((*ads)->config.realm); SAFE_FREE((*ads)->config.bind_path); SAFE_FREE((*ads)->config.ldap_server_name); diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 2c5e4631e50..4529615a41a 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -198,8 +198,12 @@ static ADS_STATUS libnet_connect_ads(const char *dns_domain_name, } if (ccname != NULL) { - SAFE_FREE(my_ads->auth.ccache_name); - my_ads->auth.ccache_name = SMB_STRDUP(ccname); + TALLOC_FREE(my_ads->auth.ccache_name); + my_ads->auth.ccache_name = talloc_strdup(my_ads, ccname); + if (my_ads->auth.ccache_name == NULL) { + status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY); + goto out; + } setenv(KRB5_ENV_CCNAME, my_ads->auth.ccache_name, 1); } @@ -1041,7 +1045,7 @@ static ADS_STATUS libnet_join_post_processing_ads_modify(TALLOC_CTX *mem_ctx, if (r->in.ads->auth.ccache_name != NULL) { ads_kdestroy(r->in.ads->auth.ccache_name); - r->in.ads->auth.ccache_name = NULL; + TALLOC_FREE(r->in.ads->auth.ccache_name); } TALLOC_FREE(r->in.ads);