From: Kamen Mazdrashki Date: Fri, 20 Aug 2010 18:58:22 +0000 (+0300) Subject: s4-ndr_basic.c: Fix ndr_*_hyper() when [bigendian] data is processed X-Git-Url: http://git.samba.org/?p=nivanova%2Fsamba.git;a=commitdiff_plain;h=7e936e3122aed539b348bc5deea1732b65d94950 s4-ndr_basic.c: Fix ndr_*_hyper() when [bigendian] data is processed --- diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c index 0becf38f7ba..58d4e46e72d 100644 --- a/librpc/ndr/ndr_basic.c +++ b/librpc/ndr/ndr_basic.c @@ -252,6 +252,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dlong(struct ndr_pull *ndr, int ndr_flags, i _PUBLIC_ enum ndr_err_code ndr_pull_hyper(struct ndr_pull *ndr, int ndr_flags, uint64_t *v) { NDR_PULL_ALIGN(ndr, 8); + if (NDR_BE(ndr)) { + return ndr_pull_udlongr(ndr, ndr_flags, v); + } return ndr_pull_udlong(ndr, ndr_flags, v); } @@ -549,6 +552,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_dlong(struct ndr_push *ndr, int ndr_flags, i _PUBLIC_ enum ndr_err_code ndr_push_hyper(struct ndr_push *ndr, int ndr_flags, uint64_t v) { NDR_PUSH_ALIGN(ndr, 8); + if (NDR_BE(ndr)) { + return ndr_push_udlongr(ndr, NDR_SCALARS, v); + } return ndr_push_udlong(ndr, NDR_SCALARS, v); }