summaryrefslogtreecommitdiff
path: root/source3/rpc_server/rpc_ncacn_np.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2012-06-27 15:21:11 +0200
committerAndreas Schneider <asn@cryptomilk.org>2012-07-06 10:00:56 +0200
commitfae6091f1df9ae77f96743f6467b20386f6db404 (patch)
tree12619448206de8bd9496adb64e34c4016ba14e44 /source3/rpc_server/rpc_ncacn_np.c
parent81ff67c3c8a9648a233c2a78450b68496c5c4332 (diff)
downloadsamba-fae6091f1df9ae77f96743f6467b20386f6db404.tar.gz
samba-fae6091f1df9ae77f96743f6467b20386f6db404.tar.bz2
samba-fae6091f1df9ae77f96743f6467b20386f6db404.zip
s3-rpc_server: Make it possible to use more rpc exceptions.
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;