From 04b50f0f0dad8c78a667d45ecfb8e4f83fa33521 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 9 Dec 2006 15:27:22 +0000 Subject: r20095: make a complete copy of the binding string metze (This used to be commit b0ee1308928d4747639033807aa3f9441ba2ac14) --- source4/libnet/libnet_become_dc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source4/libnet') diff --git a/source4/libnet/libnet_become_dc.c b/source4/libnet/libnet_become_dc.c index 410e4f9c70..8b5c40bc04 100644 --- a/source4/libnet/libnet_become_dc.c +++ b/source4/libnet/libnet_become_dc.c @@ -1511,6 +1511,7 @@ static void becomeDC_drsuapi2_bind_recv(struct rpc_request *req) struct libnet_BecomeDC_state *s = talloc_get_type(req->async.private, struct libnet_BecomeDC_state); struct composite_context *c = s->creq; + char *binding_str; WERROR status; c->status = dcerpc_ndr_request_recv(req); @@ -1523,7 +1524,12 @@ static void becomeDC_drsuapi2_bind_recv(struct rpc_request *req) } /* this avoids the epmapper lookup on the 2nd connection */ - s->drsuapi3.binding = s->drsuapi2.binding; + binding_str = dcerpc_binding_string(s, s->drsuapi2.binding); + if (composite_nomem(binding_str, c)) return; + + c->status = dcerpc_parse_binding(s, binding_str, &s->drsuapi3.binding); + talloc_free(binding_str); + if (!composite_is_ok(c)) return; becomeDC_drsuapi_connect_send(s, &s->drsuapi3, becomeDC_drsuapi3_connect_recv); } -- cgit