diff options
Diffstat (limited to 'source3/winbindd/idmap_adex/provider_unified.c')
-rw-r--r-- | source3/winbindd/idmap_adex/provider_unified.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/source3/winbindd/idmap_adex/provider_unified.c b/source3/winbindd/idmap_adex/provider_unified.c index 00db018de2..d48989f45f 100644 --- a/source3/winbindd/idmap_adex/provider_unified.c +++ b/source3/winbindd/idmap_adex/provider_unified.c @@ -895,21 +895,25 @@ done: static NTSTATUS pull_nss_info(struct likewise_cell *c, LDAPMessage *msg, TALLOC_CTX *ctx, - char **homedir, - char **shell, - char **gecos, + const char **homedir, + const char **shell, + const char **gecos, gid_t *p_gid) { NTSTATUS nt_status; + char *tmp; - nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_HOMEDIR, homedir); + nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_HOMEDIR, &tmp); BAIL_ON_NTSTATUS_ERROR(nt_status); + *homedir = tmp; - nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_SHELL, shell); + nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_SHELL, &tmp); BAIL_ON_NTSTATUS_ERROR(nt_status); + *shell = tmp; - nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_GECOS, gecos); + nt_status = get_object_string(c, msg, ctx, ADEX_ATTR_GECOS, &tmp); /* Gecos is often not set so ignore failures */ + *gecos = tmp; nt_status = get_object_uint32(c, msg, ADEX_ATTR_GIDNUM, p_gid); BAIL_ON_NTSTATUS_ERROR(nt_status); @@ -1021,9 +1025,9 @@ done: static NTSTATUS _ccp_nss_get_info(const DOM_SID * sid, TALLOC_CTX * ctx, - char **homedir, - char **shell, - char **gecos, gid_t * p_gid) + const char **homedir, + const char **shell, + const char **gecos, gid_t * p_gid) { struct likewise_cell *cell = NULL; LDAPMessage *msg = NULL; |