summaryrefslogtreecommitdiff
path: root/librpc/ndr/ndr_spoolss_buf.c
diff options
context:
space:
mode:
Diffstat (limited to 'librpc/ndr/ndr_spoolss_buf.c')
-rw-r--r--librpc/ndr/ndr_spoolss_buf.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/librpc/ndr/ndr_spoolss_buf.c b/librpc/ndr/ndr_spoolss_buf.c
index 0012ce3e2a..e41f9436b1 100644
--- a/librpc/ndr/ndr_spoolss_buf.c
+++ b/librpc/ndr/ndr_spoolss_buf.c
@@ -63,11 +63,14 @@
NDR_ERR_HAVE_NO_MEMORY(_ndr_info);\
_ndr_info->flags= ndr->flags;\
if (r->out.info) {\
+ struct ndr_push *_subndr_info;\
struct __##fn __r;\
__r.in.level = r->in.level;\
__r.in.count = *r->out.count;\
__r.out.info = *r->out.info;\
- NDR_CHECK(ndr_push___##fn(_ndr_info, flags, &__r)); \
+ NDR_CHECK(ndr_push_subcontext_start(_ndr_info, &_subndr_info, 0, r->in.offered));\
+ NDR_CHECK(ndr_push___##fn(_subndr_info, flags, &__r)); \
+ NDR_CHECK(ndr_push_subcontext_end(_ndr_info, _subndr_info, 0, r->in.offered));\
}\
if (r->in.offered > _ndr_info->offset) {\
uint32_t _padding_len = r->in.offered - _ndr_info->offset;\