static char *rcsid = "$FreeBSD: src/lib/libc/xdr/xdr_reference.c,v 1.11 2002/03/22 21:53:26 obrien Exp $";
#endif
#include <sys/cdefs.h>
-#include <assert.h>
+#include <security_utilities/simulatecrash_assert.h>
/*
* xdr_reference.c, Generic XDR routines impelmentation.
*
memset(obj, 0, size);
loc = &obj[0];
}
- if (!sizeof_alloc)
+ if (!sizeof_alloc && pp != NULL)
*pp = loc;
break;
}
if (xdrs->x_op == XDR_FREE) {
sec_mem_free(xdrs, loc, size);
- *pp = NULL;
+ if(pp) {
+ *pp = NULL;
+ }
}
return (stat);
}
bool_t sizeof_alloc = sec_xdr_arena_size_allocator(xdrs);
if (! more_data) {
- if ((xdrs->x_op == XDR_DECODE) && !sizeof_alloc)
+ if ((xdrs->x_op == XDR_DECODE) && !sizeof_alloc && objpp != NULL)
*objpp = NULL;
return (TRUE);
}