* sunrpc/xdr.c (xdr_string): Catch nodesize == 0 [PR libc/4999].
2003-04-05 Ulrich Drepper <drepper@redhat.com>
+ * sunrpc/xdr.c (xdr_string): Catch nodesize == 0 [PR libc/4999].
+
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
Always initialize *signgamp before returning an error.
return FALSE;
}
nodesize = size + 1;
+ if (nodesize == 0)
+ {
+ /* This means an overflow. It a bug in the caller which
+ provided a too large maxsize but nevertheless catch it
+ here. */
+ return FALSE;
+ }
/*
* now deal with the actual bytes
switch (xdrs->x_op)
{
case XDR_DECODE:
- if (nodesize == 0)
- {
- return TRUE;
- }
if (sp == NULL)
*cpp = sp = (char *) mem_alloc (nodesize);
if (sp == NULL)