From: Stefan Metzmacher Date: Thu, 18 Feb 2010 14:13:20 +0000 (+0100) Subject: libndr: fix ndr_size_* calculation with relative reverse buffers X-Git-Url: http://git.samba.org/?p=abartlet%2Fsamba.git%2F.git;a=commitdiff_plain;h=8310f02414efd3b792857ed20c636c4c114e1ba2 libndr: fix ndr_size_* calculation with relative reverse buffers metze --- diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c index 61745aa55ac..b6110d52b4b 100644 --- a/librpc/ndr/ndr.c +++ b/librpc/ndr/ndr.c @@ -1193,6 +1193,12 @@ _PUBLIC_ enum ndr_err_code ndr_push_relative_ptr2_end(struct ndr_push *ndr, cons return NDR_ERR_SUCCESS; } + if (ndr->flags & LIBNDR_FLAG_NO_NDR_SIZE) { + /* better say more than calculation a too small buffer */ + NDR_PUSH_ALIGN(ndr, 8); + return NDR_ERR_SUCCESS; + } + if (ndr->relative_end_offset < ndr->offset) { return ndr_push_error(ndr, NDR_ERR_RELATIVE, "ndr_push_relative_ptr2_end:"