From 7ec8401f82994070eaaf81ff067c0cd0576d58e3 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 26 Feb 2014 20:16:26 +0100 Subject: [PATCH] s3:passdb: avoid invalid pointer type warnings in pdb_wbc_sam.c Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- source3/passdb/pdb_wbc_sam.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/source3/passdb/pdb_wbc_sam.c b/source3/passdb/pdb_wbc_sam.c index 655890f8076..23436496cd4 100644 --- a/source3/passdb/pdb_wbc_sam.c +++ b/source3/passdb/pdb_wbc_sam.c @@ -135,18 +135,21 @@ static NTSTATUS pdb_wbc_sam_lookup_rids(struct pdb_methods *methods, enum lsa_SidType *attrs) { NTSTATUS result = NT_STATUS_OK; + const char *p = NULL; + const char **pp = NULL; char *domain = NULL; char **account_names = NULL; enum lsa_SidType *attr_list = NULL; int i; if (!winbind_lookup_rids(talloc_tos(), domain_sid, num_rids, rids, - (const char **)&domain, - (const char ***)&account_names, &attr_list)) + &p, &pp, &attr_list)) { result = NT_STATUS_NONE_MAPPED; goto done; } + domain = discard_const_p(char, p); + account_names = discard_const_p(char *, pp); memcpy(attrs, attr_list, num_rids * sizeof(enum lsa_SidType)); @@ -243,16 +246,18 @@ static NTSTATUS pdb_wbc_sam_getgrsid(struct pdb_methods *methods, GROUP_MAP *map struct dom_sid sid) { NTSTATUS result = NT_STATUS_OK; + const char *p1 = NULL, *p2 = NULL; char *name = NULL; char *domain = NULL; enum lsa_SidType name_type; gid_t gid; - if (!winbind_lookup_sid(talloc_tos(), &sid, (const char **)&domain, - (const char **) &name, &name_type)) { + if (!winbind_lookup_sid(talloc_tos(), &sid, &p1, &p2, &name_type)) { result = NT_STATUS_NO_SUCH_GROUP; goto done; } + domain = discard_const_p(char, p1); + name = discard_const_p(char, p2); if ((name_type != SID_NAME_DOM_GRP) && (name_type != SID_NAME_DOMAIN) && @@ -282,6 +287,7 @@ static NTSTATUS pdb_wbc_sam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map gid_t gid) { NTSTATUS result = NT_STATUS_OK; + const char *p1 = NULL, *p2 = NULL; char *name = NULL; char *domain = NULL; struct dom_sid sid; @@ -292,11 +298,12 @@ static NTSTATUS pdb_wbc_sam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map goto done; } - if (!winbind_lookup_sid(talloc_tos(), &sid, (const char **)&domain, - (const char **)&name, &name_type)) { + if (!winbind_lookup_sid(talloc_tos(), &sid, &p1, &p2, &name_type)) { result = NT_STATUS_NO_SUCH_GROUP; goto done; } + domain = discard_const_p(char, p1); + name = discard_const_p(char, p2); if ((name_type != SID_NAME_DOM_GRP) && (name_type != SID_NAME_DOMAIN) && -- 2.11.4.GIT