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);
}