diff options
Diffstat (limited to 'source4/librpc/ndr/ndr.c')
-rw-r--r-- | source4/librpc/ndr/ndr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source4/librpc/ndr/ndr.c b/source4/librpc/ndr/ndr.c index 2413e7322d..2ab78d3d09 100644 --- a/source4/librpc/ndr/ndr.c +++ b/source4/librpc/ndr/ndr.c @@ -215,15 +215,14 @@ done: /* pull a generic array */ -NTSTATUS ndr_pull_array(struct ndr_pull *ndr, int ndr_flags, void **base, +NTSTATUS ndr_pull_array(struct ndr_pull *ndr, int ndr_flags, void *base, size_t elsize, uint32 count, NTSTATUS (*pull_fn)(struct ndr_pull *, int, void *)) { int i; uint32 max_count; char *p; - NDR_ALLOC_N_SIZE(ndr, *base, count, elsize); - p = *base; + p = base; NDR_CHECK(ndr_pull_uint32(ndr, &max_count)); if (max_count != count) { /* maybe we can cope with this? */ @@ -236,7 +235,7 @@ NTSTATUS ndr_pull_array(struct ndr_pull *ndr, int ndr_flags, void **base, } if (!(ndr_flags & NDR_BUFFERS)) goto done; buffers: - p = *base; + p = base; for (i=0;i<count;i++) { NDR_CHECK(pull_fn(ndr, NDR_BUFFERS, p)); p += elsize; |