Loading fs/nfsd/nfs4xdr.c +3 −14 Original line number Diff line number Diff line Loading @@ -277,21 +277,10 @@ nfsd4_decode_verifier4(struct nfsd4_compoundargs *argp, nfs4_verifier *verf) static __be32 nfsd4_decode_bitmap4(struct nfsd4_compoundargs *argp, u32 *bmval, u32 bmlen) { u32 i, count; __be32 *p; if (xdr_stream_decode_u32(argp->xdr, &count) < 0) return nfserr_bad_xdr; /* request sanity */ if (count > 1000) return nfserr_bad_xdr; p = xdr_inline_decode(argp->xdr, count << 2); if (!p) return nfserr_bad_xdr; for (i = 0; i < bmlen; i++) bmval[i] = (i < count) ? be32_to_cpup(p++) : 0; ssize_t status; return nfs_ok; status = xdr_stream_decode_uint32_array(argp->xdr, bmval, bmlen); return status == -EBADMSG ? nfserr_bad_xdr : nfs_ok; } static __be32 Loading Loading
fs/nfsd/nfs4xdr.c +3 −14 Original line number Diff line number Diff line Loading @@ -277,21 +277,10 @@ nfsd4_decode_verifier4(struct nfsd4_compoundargs *argp, nfs4_verifier *verf) static __be32 nfsd4_decode_bitmap4(struct nfsd4_compoundargs *argp, u32 *bmval, u32 bmlen) { u32 i, count; __be32 *p; if (xdr_stream_decode_u32(argp->xdr, &count) < 0) return nfserr_bad_xdr; /* request sanity */ if (count > 1000) return nfserr_bad_xdr; p = xdr_inline_decode(argp->xdr, count << 2); if (!p) return nfserr_bad_xdr; for (i = 0; i < bmlen; i++) bmval[i] = (i < count) ? be32_to_cpup(p++) : 0; ssize_t status; return nfs_ok; status = xdr_stream_decode_uint32_array(argp->xdr, bmval, bmlen); return status == -EBADMSG ? nfserr_bad_xdr : nfs_ok; } static __be32 Loading