#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);
}
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);
}
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);