From 95e0d759ac7584d8e27240f11a4b51077b61929c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 28 Mar 2014 16:30:28 +1300 Subject: [PATCH] winbindd: Ensure we do not look at rid_array before checking if it was returned We no longer return early if there are no members, we just return an empty array. Change-Id: I7b0949e0c0b9277426a8007514a8658615f6c709 Signed-off-by: Andrew Bartlett Reviewed-by: David Disseldorp --- source3/winbindd/winbindd_rpc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c index 739088f..85b3d5c 100644 --- a/source3/winbindd/winbindd_rpc.c +++ b/source3/winbindd/winbindd_rpc.c @@ -580,8 +580,6 @@ NTSTATUS rpc_lookup_usergroups(TALLOC_CTX *mem_ctx, &user_policy, &rid_array, &result); - num_groups = rid_array->count; - { NTSTATUS _result; dcerpc_samr_Close(b, mem_ctx, &user_policy, &_result); @@ -590,10 +588,12 @@ NTSTATUS rpc_lookup_usergroups(TALLOC_CTX *mem_ctx, if (!NT_STATUS_IS_OK(status)) { return status; } - if (!NT_STATUS_IS_OK(result) || num_groups == 0) { + if (!NT_STATUS_IS_OK(result)) { return result; } + num_groups = rid_array->count; + user_grpsids = talloc_array(mem_ctx, struct dom_sid, num_groups); if (user_grpsids == NULL) { status = NT_STATUS_NO_MEMORY; -- 1.9.1