summaryrefslogtreecommitdiff
path: root/source3/rpc_server/rpc_ncacn_np.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/rpc_ncacn_np.c')
-rw-r--r--source3/rpc_server/rpc_ncacn_np.c19
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;