diff options
author | Andreas Schneider <asn@samba.org> | 2012-06-27 15:21:11 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-07-06 10:00:56 +0200 |
commit | fae6091f1df9ae77f96743f6467b20386f6db404 (patch) | |
tree | 12619448206de8bd9496adb64e34c4016ba14e44 /source3/rpc_server/rpc_ncacn_np.c | |
parent | 81ff67c3c8a9648a233c2a78450b68496c5c4332 (diff) | |
download | samba-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.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; |