diff options
author | Volker Lendecke <vl@samba.org> | 2009-02-25 12:55:47 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-02-25 13:04:19 +0100 |
commit | 06b018767b6e6f3ee0221c3aee142cb2b4836fc9 (patch) | |
tree | 24ced12d10d2fec9448ce97436f2bb26490e1f81 | |
parent | 423c1d88fcd0f128bceaf8b0c371281aa4a41003 (diff) | |
download | samba-06b018767b6e6f3ee0221c3aee142cb2b4836fc9.tar.gz samba-06b018767b6e6f3ee0221c3aee142cb2b4836fc9.tar.bz2 samba-06b018767b6e6f3ee0221c3aee142cb2b4836fc9.zip |
Fix an incompatible pointer passed to winbind_get_groups
This is the same bug that was fixed in other places of the code a few times
already:
A C compiler ONLY does automatic type conversions during an assignment.
Passing down a pointer to type A to a function taking type B as an
argument does NOT do any automatic type conversions.
If required, I can dig up the relevant portions of the C standard.
-rw-r--r-- | source3/passdb/pdb_wbc_sam.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/passdb/pdb_wbc_sam.c b/source3/passdb/pdb_wbc_sam.c index 33dc03fe4c..d2c7fda293 100644 --- a/source3/passdb/pdb_wbc_sam.c +++ b/source3/passdb/pdb_wbc_sam.c @@ -115,10 +115,12 @@ static NTSTATUS pdb_wbc_sam_enum_group_memberships(struct pdb_methods *methods, { size_t i; const char *username = pdb_get_username(user); + uint32_t num_groups; - if (!winbind_get_groups(mem_ctx, username, p_num_groups, pp_gids)) { + if (!winbind_get_groups(mem_ctx, username, &num_groups, pp_gids)) { return NT_STATUS_NO_SUCH_USER; } + *p_num_groups = num_groups; if (*p_num_groups == 0) { smb_panic("primary group missing"); |