diff --git a/src/rx/xdr.c b/src/rx/xdr.c index bfc1b7f6fe..88f7772c99 100644 --- a/src/rx/xdr.c +++ b/src/rx/xdr.c @@ -530,7 +530,7 @@ xdr_string(XDR * xdrs, char **cpp, u_int maxsize) if (!xdr_u_int(xdrs, &size)) { return (FALSE); } - if (size > maxsize) { + if (xdrs->x_op != XDR_FREE && size > maxsize) { return (FALSE); } nodesize = size + 1;