ports/games/acm/files/patch-dis_lib_xdr_var_array.c
Jan Beich 62c23cfee4 games/acm: unbreak on aarch64
xdr_var_array.c:82:12: fatal error: 'machine/limits.h' file not found
#  include <machine/limits.h>
           ^
1 error generated.

Reported by:	pkg-fallout
2017-05-12 20:38:45 +00:00

19 lines
559 B
C

--- dis/lib/xdr_var_array.c.orig 1998-05-12 03:58:55 UTC
+++ dis/lib/xdr_var_array.c
@@ -75,6 +75,7 @@ static char *rcsid = "$Id: xdr_var_array.c,v 1.2 1998/
#include <stdio.h>
#include <stdlib.h>
+#include <limits.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
@@ -104,7 +105,7 @@ xdr_var_array(register XDR * xdrs, caddr_t * addrp, u_
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;