[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Sat Sep 13 05:45:01 UTC 2025


The branch, master has been updated
       via  beaf661b1ec winbind: Initialize idmap in winbindd_getgroups
      from  51a1f3666e8 tdbtorture: Fix CID 1034815,1034816: protect from out-of-bounds access

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit beaf661b1ec1f048efc8eb2b383fc989a79ae009
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Sep 12 18:19:29 2025 +0200

    winbind: Initialize idmap in winbindd_getgroups
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=15914
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    
    Autobuild-User(master): Volker Lendecke <vl at samba.org>
    Autobuild-Date(master): Sat Sep 13 05:44:20 UTC 2025 on atb-devel-224

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

Summary of changes:
 source3/winbindd/winbindd_getgroups.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_getgroups.c b/source3/winbindd/winbindd_getgroups.c
index 26933d9d788..2308da20ed3 100644
--- a/source3/winbindd/winbindd_getgroups.c
+++ b/source3/winbindd/winbindd_getgroups.c
@@ -38,6 +38,7 @@ struct winbindd_getgroups_state {
 	gid_t *gids;
 };
 
+static void winbindd_getgroups_idmap_initialized(struct tevent_req *subreq);
 static void winbindd_getgroups_lookupname_done(struct tevent_req *subreq);
 static void winbindd_getgroups_gettoken_done(struct tevent_req *subreq);
 static void winbindd_getgroups_sid2gid_done(struct tevent_req *subreq);
@@ -72,16 +73,40 @@ struct tevent_req *winbindd_getgroups_send(TALLOC_CTX *mem_ctx,
 		return tevent_req_post(req, ev);
 	}
 
+	subreq = wb_parent_idmap_setup_send(state, state->ev);
+	if (tevent_req_nomem(subreq, req)) {
+		return tevent_req_post(req, ev);
+	}
+	tevent_req_set_callback(subreq,
+				winbindd_getgroups_idmap_initialized,
+				req);
+	return req;
+}
+
+static void winbindd_getgroups_idmap_initialized(struct tevent_req *subreq)
+{
+	struct tevent_req *req = tevent_req_callback_data(subreq,
+							  struct tevent_req);
+	struct winbindd_getgroups_state *state = tevent_req_data(
+		req, struct winbindd_getgroups_state);
+	const struct wb_parent_idmap_config *cfg = NULL;
+	NTSTATUS status;
+
+	status = wb_parent_idmap_setup_recv(subreq, &cfg);
+	TALLOC_FREE(subreq);
+	if (tevent_req_nterror(req, status)) {
+		return;
+	}
+
 	subreq = dcerpc_wbint_NormalizeNameUnmap_send(state,
 						      state->ev,
 						      idmap_child_handle(),
 						      state->request_name,
 						      &state->unmapped_name);
 	if (tevent_req_nomem(subreq, req)) {
-		return tevent_req_post(req, ev);
+		return;
 	}
 	tevent_req_set_callback(subreq, winbindd_getgroups_unmap_done, req);
-	return req;
 }
 
 static void winbindd_getgroups_unmap_done(struct tevent_req *subreq)


-- 
Samba Shared Repository



More information about the samba-cvs mailing list