diff options
Diffstat (limited to 'source3/rpc_server/rpc_ncacn_np.c')
-rw-r--r-- | source3/rpc_server/rpc_ncacn_np.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/source3/rpc_server/rpc_ncacn_np.c b/source3/rpc_server/rpc_ncacn_np.c index f1b7b43b46..67176a8c67 100644 --- a/source3/rpc_server/rpc_ncacn_np.c +++ b/source3/rpc_server/rpc_ncacn_np.c @@ -139,24 +139,13 @@ static NTSTATUS rpcint_dispatch(struct pipes_struct *p, } if (p->fault_state) { - p->fault_state = false; - data_blob_free(&p->out_data.rdata); - talloc_free_children(p->mem_ctx); - return NT_STATUS_RPC_CALL_FAILED; - } - - if (p->bad_handle_fault_state) { - p->bad_handle_fault_state = false; - data_blob_free(&p->out_data.rdata); - talloc_free_children(p->mem_ctx); - return NT_STATUS_RPC_SS_CONTEXT_MISMATCH; - } + NTSTATUS status; - if (p->rng_fault_state) { - p->rng_fault_state = false; + status = NT_STATUS(p->fault_state); + p->fault_state = 0; data_blob_free(&p->out_data.rdata); talloc_free_children(p->mem_ctx); - return NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE; + return status; } *out_data = p->out_data.rdata; |