{
struct composite_context *auth_bind_req;
- s->pipe->binding = s->binding;
- if (!talloc_reference(s->pipe, s->binding)) {
- composite_error(c, NT_STATUS_NO_MEMORY);
+ s->pipe->binding = dcerpc_binding_dup(s->pipe, s->binding);
+ if (composite_nomem(s->pipe->binding, c)) {
return;
}
s = talloc_get_type(c->private_data, struct sec_conn_state);
s->pipe2->conn->flags = s->pipe->conn->flags;
- s->pipe2->binding = s->binding;
- if (!talloc_reference(s->pipe2, s->binding)) {
- composite_error(c, NT_STATUS_NO_MEMORY);
+ s->pipe2->binding = dcerpc_binding_dup(s->pipe2, s->binding);
+ if (composite_nomem(s->pipe2->binding, c)) {
return;
}
p2->transfer_syntax = p->transfer_syntax;
- p2->binding = talloc_reference(p2, p->binding);
+ p2->binding = dcerpc_binding_dup(p2, p->binding);
+ if (p2->binding == NULL) {
+ talloc_free(p2);
+ return NT_STATUS_NO_MEMORY;
+ }
p2->binding_handle = dcerpc_pipe_binding_handle(p2);
if (p2->binding_handle == NULL) {