[SCM] Samba Shared Repository - branch v4-0-test updated

Karolin Seeger kseeger at samba.org
Wed Jun 11 03:41:04 MDT 2014


The branch, v4-0-test has been updated
       via  989e320 winbindd: Ensure we do not look at rid_array before checking if it was returned
      from  cd90613 printing: fix purge of all print jobs

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 989e320e23085f862571492933179726e9c5af1d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Mar 28 16:30:28 2014 +1300

    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.
    
    Fixes bug #10627 - rid_array used before status checked - segmentation fault due to null pointer dereference
    
    https://bugzilla.samba.org/show_bug.cgi?id=10627
    
    Change-Id: I7b0949e0c0b9277426a8007514a8658615f6c709
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: David Disseldorp <ddiss at samba.org>
    
    Autobuild-User(v4-0-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-0-test): Wed Jun 11 11:40:38 CEST 2014 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 source3/winbindd/winbindd_rpc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c
index 0986d82..148683f 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;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list