From 16756196566770b07ebe066ff7329773c1ae07dc Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 31 Jul 2010 09:00:44 +0200 Subject: s4:librpc/rpc: use the correct ndr flags in dcerpc_ndr_validate_in() metze --- source4/librpc/rpc/dcerpc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source4/librpc/rpc') 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); -- cgit