diff options
-rw-r--r-- | librpc/ndr/ndr_spoolss_buf.c | 5 |
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;\ |