From 6714815f014ae1b31d0675214d023e3afe2389f0 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 12 Nov 2003 05:34:21 +0000 Subject: lsa_PrivilegeSet seems to be a very strange beast indeed. It has a constant sized array of size 1 at the end? (This used to be commit 2cc354bd82456cb5598eb4acb40a5ada1459d08d) --- source4/librpc/ndr/ndr_lsa.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/librpc/ndr/ndr_lsa.c') diff --git a/source4/librpc/ndr/ndr_lsa.c b/source4/librpc/ndr/ndr_lsa.c index 4a7ee4e5ca..e62107a3e8 100644 --- a/source4/librpc/ndr/ndr_lsa.c +++ b/source4/librpc/ndr/ndr_lsa.c @@ -1498,6 +1498,7 @@ buffers: if (!(ndr_flags & NDR_BUFFERS)) goto done; NDR_ALLOC_N_SIZE(ndr, r->set, r->count, sizeof(r->set[0])); NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->set, sizeof(r->set[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_LUIDAttribute)); + NDR_CHECK(ndr_pull_const_array_uint32(ndr, r->unknown, 1)); done: return NT_STATUS_OK; } @@ -1511,6 +1512,10 @@ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, struct ndr->depth++; ndr_print_array(ndr, "set", r->set, sizeof(r->set[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_LUIDAttribute); ndr->depth--; + ndr_print_ptr(ndr, "unknown", r->unknown); + ndr->depth++; + ndr_print_array_uint32(ndr, "unknown", r->unknown, 1); + ndr->depth--; ndr->depth--; } @@ -1533,7 +1538,6 @@ NTSTATUS ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, struct lsa_EnumPriv if (r->out.privs) { NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs)); } - NDR_CHECK(ndr_pull_uint32(ndr, &r->out.unknown)); NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result)); return NT_STATUS_OK; -- cgit