summaryrefslogtreecommitdiff
path: root/source3/rpc_client/ndr.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2010-07-14 19:39:54 -0400
committerGünther Deschner <gd@samba.org>2010-07-16 01:51:17 +0200
commitff121c89d365db657128bb53bd63d18c8bfa7155 (patch)
tree99feb66c35181714707df65acd254d39499c319f /source3/rpc_client/ndr.c
parentb44a91b2206b514ff47b8841d607ffd2cc297c8b (diff)
downloadsamba-ff121c89d365db657128bb53bd63d18c8bfa7155.tar.gz
samba-ff121c89d365db657128bb53bd63d18c8bfa7155.tar.bz2
samba-ff121c89d365db657128bb53bd63d18c8bfa7155.zip
s3-dcerpc: Use DATA_BLOB instead of prs_struct for reply_pdu
Signed-off-by: Günther Deschner <gd@samba.org>
Diffstat (limited to 'source3/rpc_client/ndr.c')
-rw-r--r--source3/rpc_client/ndr.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/source3/rpc_client/ndr.c b/source3/rpc_client/ndr.c
index 8e03f2e015..2fb9655207 100644
--- a/source3/rpc_client/ndr.c
+++ b/source3/rpc_client/ndr.c
@@ -24,7 +24,8 @@
struct cli_do_rpc_ndr_state {
const struct ndr_interface_call *call;
- prs_struct q_ps, r_ps;
+ prs_struct q_ps;
+ DATA_BLOB r_pdu;
void *r;
};
@@ -101,7 +102,7 @@ static void cli_do_rpc_ndr_done(struct tevent_req *subreq)
req, struct cli_do_rpc_ndr_state);
NTSTATUS status;
- status = rpc_api_pipe_req_recv(subreq, state, &state->r_ps);
+ status = rpc_api_pipe_req_recv(subreq, state, &state->r_pdu);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
@@ -117,19 +118,12 @@ NTSTATUS cli_do_rpc_ndr_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)
struct ndr_pull *pull;
enum ndr_err_code ndr_err;
NTSTATUS status;
- DATA_BLOB blob;
- bool ret;
if (tevent_req_is_nterror(req, &status)) {
return status;
}
- ret = prs_data_blob(&state->r_ps, &blob, talloc_tos());
- if (!ret) {
- return NT_STATUS_NO_MEMORY;
- }
-
- pull = ndr_pull_init_blob(&blob, mem_ctx);
+ pull = ndr_pull_init_blob(&state->r_pdu, mem_ctx);
if (pull == NULL) {
return NT_STATUS_NO_MEMORY;
}