summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-07-31 09:00:44 +0200
committerStefan Metzmacher <metze@samba.org>2010-07-31 09:07:45 +0200
commit16756196566770b07ebe066ff7329773c1ae07dc (patch)
tree522826e473c5d0e862977f80b0d812cd7fe0c415 /source4/librpc/rpc
parent9e0000224a53f418eb4d2c87f1b8d8c47e348665 (diff)
downloadsamba-16756196566770b07ebe066ff7329773c1ae07dc.tar.gz
samba-16756196566770b07ebe066ff7329773c1ae07dc.tar.bz2
samba-16756196566770b07ebe066ff7329773c1ae07dc.zip
s4:librpc/rpc: use the correct ndr flags in dcerpc_ndr_validate_in()
metze
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r--source4/librpc/rpc/dcerpc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index 59aa9c6a8b..a04dbb1ea9 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1158,6 +1158,14 @@ static NTSTATUS dcerpc_ndr_validate_in(struct dcerpc_connection *c,
}
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
+ if (c->flags & DCERPC_PUSH_BIGENDIAN) {
+ pull->flags |= LIBNDR_FLAG_BIGENDIAN;
+ }
+
+ if (c->flags & DCERPC_NDR64) {
+ pull->flags |= LIBNDR_FLAG_NDR64;
+ }
+
ndr_err = ndr_pull(pull, NDR_IN, st);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
NTSTATUS status = ndr_map_error2ntstatus(ndr_err);
@@ -1172,6 +1180,14 @@ static NTSTATUS dcerpc_ndr_validate_in(struct dcerpc_connection *c,
return NT_STATUS_NO_MEMORY;
}
+ if (c->flags & DCERPC_PUSH_BIGENDIAN) {
+ push->flags |= LIBNDR_FLAG_BIGENDIAN;
+ }
+
+ if (c->flags & DCERPC_NDR64) {
+ push->flags |= LIBNDR_FLAG_NDR64;
+ }
+
ndr_err = ndr_push(push, NDR_IN, st);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
NTSTATUS status = ndr_map_error2ntstatus(ndr_err);