}
static NTSTATUS cli_start_connection_recv(struct tevent_req *req,
+ TALLOC_CTX *mem_ctx,
struct cli_state **output_cli)
{
struct cli_start_connection_state *state = tevent_req_data(
if (tevent_req_is_nterror(req, &status)) {
return status;
}
- *output_cli = talloc_move(NULL, &state->cli);
+ *output_cli = talloc_move(mem_ctx, &state->cli);
return NT_STATUS_OK;
}
if (!tevent_req_poll_ntstatus(req, ev, &status)) {
goto fail;
}
- status = cli_start_connection_recv(req, output_cli);
+ status = cli_start_connection_recv(req, NULL, output_cli);
fail:
TALLOC_FREE(ev);
return status;
req, struct cli_full_connection_creds_state);
NTSTATUS status;
- status = cli_start_connection_recv(subreq, &state->cli);
+ status = cli_start_connection_recv(subreq, state, &state->cli);
TALLOC_FREE(subreq);
if (tevent_req_nterror(req, status)) {
return;
if (tevent_req_is_nterror(req, &status)) {
return status;
}
- *output_cli = state->cli;
+ *output_cli = talloc_move(NULL, &state->cli);
talloc_set_destructor(state, NULL);
return NT_STATUS_OK;
}