diff options
Diffstat (limited to 'source4/librpc/rpc/dcerpc.c')
-rw-r--r-- | source4/librpc/rpc/dcerpc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index 16721b4b03..a2cd62d399 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -72,6 +72,11 @@ struct dcerpc_connection *dcerpc_connection_init(TALLOC_CTX *mem_ctx, } c->event_ctx = ev; + + if (!talloc_reference(c, ev)) { + talloc_free(c); + return NULL; + } c->call_id = 1; c->security_state.auth_info = NULL; c->security_state.session_key = dcerpc_generic_session_key; @@ -478,6 +483,8 @@ static NTSTATUS dcerpc_map_reason(uint16_t reason) switch (reason) { case DCERPC_BIND_REASON_ASYNTAX: return NT_STATUS_RPC_UNSUPPORTED_NAME_SYNTAX; + case DCERPC_BIND_REASON_INVALID_AUTH_TYPE: + return NT_STATUS_INVALID_PARAMETER; } return NT_STATUS_UNSUCCESSFUL; } |