diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-08-10 18:15:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-16 11:52:11 -0400 |
commit | 58fcb8df0bf663bb6b8f46cd3010bfe8d13d97cf (patch) | |
tree | 24edbecfb5875cf6c602b1fd5126c7dfce9ae127 /fs/nfs_common/nfsacl.c | |
parent | 75cd968ab251ac84dd3a5dc252af7036dc4a64f4 (diff) |
[PATCH] NFS: Ensure ACL xdr code doesn't overflow.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/nfs_common/nfsacl.c')
-rw-r--r-- | fs/nfs_common/nfsacl.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs_common/nfsacl.c b/fs/nfs_common/nfsacl.c index 18c58c32e326..251e5a1bb1c4 100644 --- a/fs/nfs_common/nfsacl.c +++ b/fs/nfs_common/nfsacl.c | |||
@@ -239,6 +239,7 @@ nfsacl_decode(struct xdr_buf *buf, unsigned int base, unsigned int *aclcnt, | |||
239 | if (xdr_decode_word(buf, base, &entries) || | 239 | if (xdr_decode_word(buf, base, &entries) || |
240 | entries > NFS_ACL_MAX_ENTRIES) | 240 | entries > NFS_ACL_MAX_ENTRIES) |
241 | return -EINVAL; | 241 | return -EINVAL; |
242 | nfsacl_desc.desc.array_maxlen = entries; | ||
242 | err = xdr_decode_array2(buf, base + 4, &nfsacl_desc.desc); | 243 | err = xdr_decode_array2(buf, base + 4, &nfsacl_desc.desc); |
243 | if (err) | 244 | if (err) |
244 | return err; | 245 | return err; |