diff options
Diffstat (limited to 'source4/librpc/rpc/dcerpc_util.c')
-rw-r--r-- | source4/librpc/rpc/dcerpc_util.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source4/librpc/rpc/dcerpc_util.c b/source4/librpc/rpc/dcerpc_util.c index 5c4e4b6d706..85356cfc6e7 100644 --- a/source4/librpc/rpc/dcerpc_util.c +++ b/source4/librpc/rpc/dcerpc_util.c @@ -853,6 +853,7 @@ _PUBLIC_ NTSTATUS dcerpc_secondary_context(struct dcerpc_pipe *p, { NTSTATUS status; struct dcerpc_pipe *p2; + struct GUID *object = NULL; p2 = talloc_zero(p, struct dcerpc_pipe); if (p2 == NULL) { @@ -873,7 +874,12 @@ _PUBLIC_ NTSTATUS dcerpc_secondary_context(struct dcerpc_pipe *p, return NT_STATUS_NO_MEMORY; } - p2->binding_handle = dcerpc_pipe_binding_handle(p2); + p2->object = dcerpc_binding_get_object(p2->binding); + if (!GUID_all_zero(&p2->object)) { + object = &p2->object; + } + + p2->binding_handle = dcerpc_pipe_binding_handle(p2, object, table); if (p2->binding_handle == NULL) { talloc_free(p2); return NT_STATUS_NO_MEMORY; |