|
@@ -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;
|