X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fsunrpc%2Fxdr.c;h=fde16f40a581dfb64e725e694afb4df5090693ed;hb=5170dbebbb2e9159cdf6bbf35e5d79cd7009799a;hp=8a4d9c106af1b37b1120a2adb53e21f7fb3dc317;hpb=5028770a42e7bc4d15791a44c28f0ad539323807;p=linux-2.6 diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 8a4d9c106a..fde16f40a5 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c @@ -993,6 +993,7 @@ xdr_xcode_array2(struct xdr_buf *buf, unsigned int base, return -EINVAL; } else { if (xdr_decode_word(buf, base, &desc->array_len) != 0 || + desc->array_len > desc->array_maxlen || (unsigned long) base + 4 + desc->array_len * desc->elem_size > buf->len) return -EINVAL;