summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/ndr.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/ndr/ndr.c')
-rw-r--r--source4/librpc/ndr/ndr.c7
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;