summaryrefslogtreecommitdiff
path: root/fs/nfs/nfs4xdr.c
diff options
context:
space:
mode:
authorRoman Borisov <ext-roman.borisov@nokia.com>2010-10-13 16:54:51 +0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-10-25 02:00:12 +0400
commit3388bff5cfe91589a912cdc7f00d3aae3aa18adc (patch)
treed84d4642c70787d44c16dc842e263744dae729e9 /fs/nfs/nfs4xdr.c
parent55b6e7742d5b25182edf410369379b9727b2e5bc (diff)
downloadlinux-3388bff5cfe91589a912cdc7f00d3aae3aa18adc.tar.xz
nfs: fix unchecked value
Return value of "decode_attr_bitmap()" was not checked; Signed-off-by: Roman Borisov <ext-roman.borisov@nokia.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4xdr.c')
-rw-r--r--fs/nfs/nfs4xdr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 7131c761d85c..bd2101d918c8 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -2687,7 +2687,10 @@ out_overflow:
static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask)
{
if (likely(bitmap[0] & FATTR4_WORD0_SUPPORTED_ATTRS)) {
- decode_attr_bitmap(xdr, bitmask);
+ int ret;
+ ret = decode_attr_bitmap(xdr, bitmask);
+ if (unlikely(ret < 0))
+ return ret;
bitmap[0] &= ~FATTR4_WORD0_SUPPORTED_ATTRS;
} else
bitmask[0] = bitmask[1] = 0;