diff options
author | se <se@FreeBSD.org> | 2003-07-06 10:29:12 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 2003-07-06 10:29:12 +0000 |
commit | a0e9dffee43346593c33a63b65120f91c39b076c (patch) | |
tree | c0b317350d10fbd4a8be85b07d1e6c19a9d301bf /games | |
parent | 0f8757a1dadd157d1dee45abf9712235a24b0020 (diff) | |
download | FreeBSD-ports-a0e9dffee43346593c33a63b65120f91c39b076c.zip FreeBSD-ports-a0e9dffee43346593c33a63b65120f91c39b076c.tar.gz |
Fix remotely exploitable buffer overflow (CVE-2002-0391).
Diffstat (limited to 'games')
-rw-r--r-- | games/acm/files/patch-09 | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/games/acm/files/patch-09 b/games/acm/files/patch-09 new file mode 100644 index 0000000..d0ce1c2 --- /dev/null +++ b/games/acm/files/patch-09 @@ -0,0 +1,24 @@ +--- dis/lib/xdr_var_array.c~ Mon May 11 20:58:55 1998 ++++ dis/lib/xdr_var_array.c Sun Jul 6 03:21:47 2003 +@@ -75,6 +75,12 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <sys/param.h> ++#if __FreeBSD_Version__ >= 500113 ++# include <sys/limits.h> ++#else ++# include <machine/limits.h> ++#endif + #include <rpc/types.h> + #include <rpc/xdr.h> + +@@ -104,7 +110,7 @@ + register u_int nodesize; + + c = size; +- if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) { ++ if ((c > maxsize || c > UINT_MAX/elsize) && (xdrs->x_op != XDR_FREE)) { + return (FALSE); + } + nodesize = c * elsize; |