libndr: store a subcontext buffer size in ndr_push_subcontext_start.
authorGünther Deschner <gd@samba.org>
Mon, 14 Dec 2009 14:33:32 +0000 (15:33 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 18 Feb 2010 12:44:03 +0000 (13:44 +0100)
Guenther

librpc/ndr/libndr.h
librpc/ndr/ndr.c

index 124c5f0d6e17224a87c8a004595c9bd4c966a4f1..41e214da2a478eeef47ab196b7f0152c81323717 100644 (file)
@@ -86,6 +86,7 @@ struct ndr_push {
        uint32_t offset;
 
        uint32_t relative_base_offset;
+       uint32_t relative_end_offset;
        struct ndr_token_list *relative_base_list;
 
        struct ndr_token_list *switch_list;
index 0ff43c3eb4595a9a2e8e9d1f40ad6e5dc2489a10..e78b7ee94a3a565cf4ca8dede03f5343581b76dd 100644 (file)
@@ -596,6 +596,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_subcontext_start(struct ndr_push *ndr,
        if (size_is > 0) {
                NDR_CHECK(ndr_push_zero(subndr, size_is));
                subndr->offset = 0;
+               subndr->relative_end_offset = size_is;
        }
 
        *_subndr = subndr;