80 lines
2.8 KiB
Diff
80 lines
2.8 KiB
Diff
|
diff --git a/lib/sec_xdr.c b/lib/sec_xdr.c
|
||
|
index fe5f038..6239b6c 100644
|
||
|
--- a/lib/sec_xdr.c
|
||
|
+++ b/lib/sec_xdr.c
|
||
|
@@ -223,7 +223,7 @@ bool_t copyin(void *data, xdrproc_t proc, void** copy, u_int *size)
|
||
|
sec_xdrmem_create(&xdr, (char *)xdr_data, length, XDR_ENCODE);
|
||
|
|
||
|
// cast to void* - function can go both ways (xdr->x_op)
|
||
|
- if (proc(&xdr, data)) {
|
||
|
+ if (proc(&xdr, data, 0)) {
|
||
|
*copy = xdr_data;
|
||
|
if (size) *size = length;
|
||
|
return (TRUE);
|
||
|
@@ -261,7 +261,7 @@ bool_t copyout(const void *copy, u_int size, xdrproc_t proc, void **data, u_int
|
||
|
if (!sec_xdr_arena_init(&arena, &xdr, length_out ? length_out : length_required, length_out ? *data : NULL))
|
||
|
return (FALSE);
|
||
|
|
||
|
- if (proc(&xdr, data))
|
||
|
+ if (proc(&xdr, data, 0))
|
||
|
{
|
||
|
*length = length_required;
|
||
|
return (TRUE);
|
||
|
@@ -284,7 +284,7 @@ bool_t copyout_chunked(const void *copy, u_int size, xdrproc_t proc, void **data
|
||
|
|
||
|
void *data_out = NULL;
|
||
|
|
||
|
- if (proc(&xdr, &data_out))
|
||
|
+ if (proc(&xdr, &data_out, 0))
|
||
|
{
|
||
|
*data = data_out;
|
||
|
return (TRUE);
|
||
|
diff --git a/lib/sec_xdr_array.c b/lib/sec_xdr_array.c
|
||
|
index 152a71b..e5ec1ad 100644
|
||
|
--- a/lib/sec_xdr_array.c
|
||
|
+++ b/lib/sec_xdr_array.c
|
||
|
@@ -147,7 +147,7 @@ sec_xdr_array(XDR *xdrs, uint8_t **addrp, u_int *sizep, u_int maxsize, u_int els
|
||
|
for (i = 0; (i < c) && stat; i++) {
|
||
|
if ((xdrs->x_op == XDR_DECODE) && sizeof_alloc)
|
||
|
memset(obj, 0, elsize);
|
||
|
- stat = (*elproc)(xdrs, target);
|
||
|
+ stat = (*elproc)(xdrs, target, 0);
|
||
|
if ((xdrs->x_op == XDR_ENCODE) || !sizeof_alloc)
|
||
|
target += elsize;
|
||
|
}
|
||
|
diff --git a/lib/sec_xdr_reference.c b/lib/sec_xdr_reference.c
|
||
|
index a66fb37..ab5b4c4 100644
|
||
|
--- a/lib/sec_xdr_reference.c
|
||
|
+++ b/lib/sec_xdr_reference.c
|
||
|
@@ -121,7 +121,7 @@ sec_xdr_reference(XDR *xdrs, uint8_t **pp, u_int size, xdrproc_t proc)
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
- stat = (*proc)(xdrs, loc);
|
||
|
+ stat = (*proc)(xdrs, loc, 0);
|
||
|
|
||
|
if (xdrs->x_op == XDR_FREE) {
|
||
|
sec_mem_free(xdrs, loc, size);
|
||
|
diff --git a/lib/sec_xdr_sizeof.c b/lib/sec_xdr_sizeof.c
|
||
|
index a18bcd0..8c33dbc 100644
|
||
|
--- a/lib/sec_xdr_sizeof.c
|
||
|
+++ b/lib/sec_xdr_sizeof.c
|
||
|
@@ -190,7 +190,7 @@ sec_xdr_sizeof_in(func, data)
|
||
|
|
||
|
sec_xdr_arena_allocator_t size_alloc;
|
||
|
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
|
||
|
- stat = func(&x, data);
|
||
|
+ stat = func(&x, data, 0);
|
||
|
if (x.x_private)
|
||
|
free(x.x_private);
|
||
|
return (stat == TRUE ? (unsigned) x.x_handy: 0);
|
||
|
@@ -210,7 +210,7 @@ sec_xdr_sizeof_out(copy, size, func, data)
|
||
|
|
||
|
sec_xdr_arena_allocator_t size_alloc;
|
||
|
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
|
||
|
- stat = func(&x, data);
|
||
|
+ stat = func(&x, data, 0);
|
||
|
if (size_alloc.data)
|
||
|
free(size_alloc.data);
|
||
|
return (stat == TRUE ? (unsigned long)size_alloc.offset : 0);
|