summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/wb_xids2sids.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/source3/winbindd/wb_xids2sids.c b/source3/winbindd/wb_xids2sids.c
index 6555d64f8e2..d769328a15e 100644
--- a/source3/winbindd/wb_xids2sids.c
+++ b/source3/winbindd/wb_xids2sids.c
@@ -546,18 +546,22 @@ static void wb_xids2sids_done(struct tevent_req *subreq)
state->dom_idx += 1;
- if (state->dom_idx >= num_domains) {
- tevent_req_done(req);
+ if (state->dom_idx < num_domains) {
+ subreq = wb_xids2sids_dom_send(state,
+ state->ev,
+ &dom_maps[state->dom_idx],
+ state->xids,
+ state->num_xids,
+ state->sids);
+ if (tevent_req_nomem(subreq, req)) {
+ return;
+ }
+ tevent_req_set_callback(subreq, wb_xids2sids_done, req);
return;
}
- subreq = wb_xids2sids_dom_send(
- state, state->ev, &dom_maps[state->dom_idx],
- state->xids, state->num_xids, state->sids);
- if (tevent_req_nomem(subreq, req)) {
- return;
- }
- tevent_req_set_callback(subreq, wb_xids2sids_done, req);
+ tevent_req_done(req);
+ return;
}
NTSTATUS wb_xids2sids_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,