diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-05-04 20:56:12 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-05-04 20:56:12 +0000 |
commit | 5e65a53d5474bc0baf0ea6d90548e22b3ee7b501 (patch) | |
tree | dccb6967cfb92e31c17117ebe0e45b05d77a4282 /sunrpc/xdr_array.c | |
parent | * sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free (diff) | |
download | glibc-5e65a53d5474bc0baf0ea6d90548e22b3ee7b501.tar.gz glibc-5e65a53d5474bc0baf0ea6d90548e22b3ee7b501.tar.bz2 glibc-5e65a53d5474bc0baf0ea6d90548e22b3ee7b501.zip |
* sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.
Diffstat (limited to 'sunrpc/xdr_array.c')
-rw-r--r-- | sunrpc/xdr_array.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c index 765f8995d3..44abdbcfda 100644 --- a/sunrpc/xdr_array.c +++ b/sunrpc/xdr_array.c @@ -74,7 +74,6 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) caddr_t target = *addrp; u_int c; /* the actual element count */ bool_t stat = TRUE; - u_int nodesize; /* like strings, arrays are really counted arrays */ if (!INTUSE(xdr_u_int) (xdrs, sizep)) @@ -90,7 +89,6 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) { return FALSE; } - nodesize = c * elsize; /* * if we are deserializing, we may need to allocate an array. @@ -102,13 +100,12 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) case XDR_DECODE: if (c == 0) return TRUE; - *addrp = target = mem_alloc (nodesize); + *addrp = target = calloc (c, elsize); if (target == NULL) { (void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n")); return FALSE; } - __bzero (target, nodesize); break; case XDR_FREE: @@ -131,7 +128,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) */ if (xdrs->x_op == XDR_FREE) { - mem_free (*addrp, nodesize); + mem_free (*addrp, c * elsize); *addrp = NULL; } return stat; |