--- /dev/null
+===================================================================
+RCS file: /cvs/openafs/src/rx/Makefile.in,v
+retrieving revision 1.4.2.1
+retrieving revision 1.4.2.2
+diff -u -r1.4.2.1 -r1.4.2.2
+--- openafs/src/rx/Makefile.in 2002/01/20 08:38:38 1.4.2.1
++++ openafs/src/rx/Makefile.in 2002/08/02 02:45:14 1.4.2.2
+@@ -38,7 +38,7 @@
+ # Generic xdr objects (or, at least, xdr stuff that's not newly defined for rx).
+ # Really the xdr stuff should be in its own directory.
+ #
+-XDROBJS = xdr_arrayn.o xdr_rx.o xdr_afsuuid.o
++XDROBJS = xdr.o xdr_array.o xdr_arrayn.o xdr_rx.o xdr_afsuuid.o
+
+ RXOBJS = rx_clock.o rx_event.o rx_user.o rx_lwp.o rx.o rx_null.o rx_globals.o \
+ rx_getaddr.o rx_misc.o rx_packet.o rx_rdwr.o rx_trace.o rx_conncache.o \
+===================================================================
+RCS file: /cvs/openafs/src/rx/xdr.c,v
+retrieving revision 1.4
+retrieving revision 1.5
+diff -u -r1.4 -r1.5
+--- openafs/src/rx/xdr.c 2002/06/08 04:43:38 1.4
++++ openafs/src/rx/xdr.c 2002/07/31 23:13:09 1.5
+@@ -558,6 +558,8 @@
+ u_int size;
+ u_int nodesize;
+
++ if (maxsize > ((~0) >> 1) - 1) maxsize = ((~0) >> 1) - 1;
++
+ /*
+ * first deal with the length since xdr strings are counted-strings
+ */
+===================================================================
+RCS file: /cvs/openafs/src/rx/xdr_array.c,v
+retrieving revision 1.4
+retrieving revision 1.5
+diff -u -r1.4 -r1.5
+--- openafs/src/rx/xdr_array.c 2001/08/08 00:03:57 1.4
++++ openafs/src/rx/xdr_array.c 2002/07/31 23:13:09 1.5
+@@ -84,7 +84,10 @@
+ register caddr_t target = *addrp;
+ register u_int c; /* the actual element count */
+ register bool_t stat = TRUE;
+- register int nodesize;
++ register u_int nodesize;
++
++ i = ((~0) >> 1) / elsize;
++ if (maxsize > i) maxsize = i;
+
+ /* like strings, arrays are really counted arrays */
+ if (! xdr_u_int(xdrs, sizep)) {
+===================================================================
+RCS file: /cvs/openafs/src/rx/xdr_arrayn.c,v
+retrieving revision 1.4
+retrieving revision 1.5
+diff -u -r1.4 -r1.5
+--- openafs/src/rx/xdr_arrayn.c 2001/08/08 00:03:57 1.4
++++ openafs/src/rx/xdr_arrayn.c 2002/07/31 23:13:09 1.5
+@@ -89,7 +89,10 @@
+ register caddr_t target = *addrp;
+ register u_int c; /* the actual element count */
+ register bool_t stat = TRUE;
+- register int nodesize;
++ register u_int nodesize;
++
++ i = ((~0) >> 1) / elsize;
++ if (maxsize > i) maxsize = i;
+
+ /* like strings, arrays are really counted arrays */
+ if (! xdr_u_int(xdrs, sizep)) {
#include <afsconfig.h>
#include <afs/param.h>
-RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_array.c,v 1.1.1.4 2001/09/11 14:34:26 hartmans Exp $");
+RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_array.c,v 1.1.1.4.2.1 2002/08/03 21:33:30 hartmans Exp $");
#ifndef NeXT
register caddr_t target = *addrp;
register u_int c; /* the actual element count */
register bool_t stat = TRUE;
- register int nodesize;
+ register u_int nodesize;
+
+ i = ((~0) >> 1) / elsize;
+ if (maxsize > i) maxsize = i;
/* like strings, arrays are really counted arrays */
if (! xdr_u_int(xdrs, sizep)) {
#include <afsconfig.h>
#include <afs/param.h>
-RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_arrayn.c,v 1.1.1.4 2001/09/11 14:34:26 hartmans Exp $");
+RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_arrayn.c,v 1.1.1.4.2.1 2002/08/03 21:33:30 hartmans Exp $");
#if !defined(NeXT)
register caddr_t target = *addrp;
register u_int c; /* the actual element count */
register bool_t stat = TRUE;
- register int nodesize;
+ register u_int nodesize;
+
+ i = ((~0) >> 1) / elsize;
+ if (maxsize > i) maxsize = i;
/* like strings, arrays are really counted arrays */
if (! xdr_u_int(xdrs, sizep)) {