diff options
author | Volker Lendecke <vl@samba.org> | 2015-02-14 16:30:33 +0100 |
---|---|---|
committer | José A. Rivera <jarrpa@samba.org> | 2015-06-19 20:17:23 +0200 |
commit | f89e9bd47b98f9dbe94ffff13b7d9d4f08b7f11a (patch) | |
tree | b9a5d2d6cf07bc1e9fd0958b6e006c1deebab982 /librpc/rpc | |
parent | 893b5f81441bbc98ef403855ec8e2e39569479d2 (diff) | |
download | samba-f89e9bd47b98f9dbe94ffff13b7d9d4f08b7f11a.tar.gz |
rpc: Simplify dcerpc_binding_handle_raw_call()
Align it with dcerpc_binding_handle_call()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jose A. Rivera <jarrpa@samba.org>
Autobuild-User(master): José A. Rivera <jarrpa@samba.org>
Autobuild-Date(master): Fri Jun 19 20:17:24 CEST 2015 on sn-devel-104
Diffstat (limited to 'librpc/rpc')
-rw-r--r-- | librpc/rpc/binding_handle.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/librpc/rpc/binding_handle.c b/librpc/rpc/binding_handle.c index 5a9414464e2..f5e043d382d 100644 --- a/librpc/rpc/binding_handle.c +++ b/librpc/rpc/binding_handle.c @@ -224,7 +224,7 @@ NTSTATUS dcerpc_binding_handle_raw_call(struct dcerpc_binding_handle *h, TALLOC_CTX *frame = talloc_stackframe(); struct tevent_context *ev; struct tevent_req *subreq; - NTSTATUS status; + NTSTATUS status = NT_STATUS_NO_MEMORY; /* * TODO: allow only one sync call @@ -236,8 +236,7 @@ NTSTATUS dcerpc_binding_handle_raw_call(struct dcerpc_binding_handle *h, ev = samba_tevent_context_init(frame); } if (ev == NULL) { - talloc_free(frame); - return NT_STATUS_NO_MEMORY; + goto fail; } subreq = dcerpc_binding_handle_raw_call_send(frame, ev, @@ -246,13 +245,11 @@ NTSTATUS dcerpc_binding_handle_raw_call(struct dcerpc_binding_handle *h, in_data, in_length); if (subreq == NULL) { - talloc_free(frame); - return NT_STATUS_NO_MEMORY; + goto fail; } if (!tevent_req_poll_ntstatus(subreq, ev, &status)) { - talloc_free(frame); - return status; + goto fail; } status = dcerpc_binding_handle_raw_call_recv(subreq, @@ -260,13 +257,9 @@ NTSTATUS dcerpc_binding_handle_raw_call(struct dcerpc_binding_handle *h, out_data, out_length, out_flags); - if (!NT_STATUS_IS_OK(status)) { - talloc_free(frame); - return status; - } - +fail: TALLOC_FREE(frame); - return NT_STATUS_OK; + return status; } struct dcerpc_binding_handle_disconnect_state { |