diff options
author | nectar <nectar@FreeBSD.org> | 2002-08-01 12:23:04 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-08-01 12:23:04 +0000 |
commit | 292ee3bd86be278e35b95da5aa6bcb21fe4720f4 (patch) | |
tree | 62424ea390545f71f1df6b149b0d772a3914dab1 /lib/libc/xdr | |
parent | eb7b85d384948f7e8747f97ece4bd95540ff3f56 (diff) | |
download | FreeBSD-src-292ee3bd86be278e35b95da5aa6bcb21fe4720f4.zip FreeBSD-src-292ee3bd86be278e35b95da5aa6bcb21fe4720f4.tar.gz |
The fix applied to the XDR decoder in revision 1.11 was incorrect.
Diffstat (limited to 'lib/libc/xdr')
-rw-r--r-- | lib/libc/xdr/xdr_array.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/xdr/xdr_array.c b/lib/libc/xdr/xdr_array.c index 18f3f53..72005e4 100644 --- a/lib/libc/xdr/xdr_array.c +++ b/lib/libc/xdr/xdr_array.c @@ -83,7 +83,7 @@ xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc) return (FALSE); } c = *sizep; - if ((c > maxsize && UINT_MAX/elsize < c) && + if ((c > maxsize || UINT_MAX/elsize < c) && (xdrs->x_op != XDR_FREE)) { return (FALSE); } |