1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

fixed another ambiguous talloc call

During the creation of the 3 RPC pipes in winbind we try to steal the
RPC binding structure to be a child of the pipe once the pipe is
established. This fails with a talloc warning as the rpc connection
code already holds a reference to the binding.

The fix is to use talloc_reparent() instead.
This commit is contained in:
Andrew Tridgell 2009-08-07 17:23:52 +10:00
parent c271dc998b
commit 7c2025610c

View File

@ -211,7 +211,7 @@ static void init_domain_recv_netlogonpipe(struct composite_context *ctx)
if (!composite_is_ok(state->ctx)) {
return;
}
talloc_steal(state->domain->netlogon_pipe, state->domain->netlogon_binding);
talloc_reparent(state, state->domain->netlogon_pipe, state->domain->netlogon_binding);
state->domain->lsa_binding = init_domain_binding(state, &ndr_table_lsarpc);
@ -286,7 +286,7 @@ static void init_domain_recv_lsa_pipe(struct composite_context *ctx)
if (!composite_is_ok(state->ctx)) return;
talloc_steal(state->domain->libnet_ctx, state->domain->libnet_ctx->lsa.pipe);
talloc_steal(state->domain->libnet_ctx->lsa.pipe, state->domain->lsa_binding);
talloc_reparent(state, state->domain->libnet_ctx->lsa.pipe, state->domain->lsa_binding);
state->domain->libnet_ctx->lsa.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
state->domain->libnet_ctx->lsa.name = state->domain->info->name;
@ -399,7 +399,7 @@ static void init_domain_recv_samr(struct composite_context *ctx)
&state->domain->libnet_ctx->samr.handle);
if (!composite_is_ok(state->ctx)) return;
talloc_steal(state->domain->libnet_ctx->samr.pipe, state->domain->samr_binding);
talloc_reparent(state, state->domain->libnet_ctx->samr.pipe, state->domain->samr_binding);
state->domain->libnet_ctx->samr.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
state->domain->libnet_ctx->samr.name = state->domain->info->name;
state->domain->libnet_ctx->samr.sid = dom_sid_dup(