nfsd4: fix xdr4 count of server in fs_location4
Fix a bug where nfsd4_encode_components_esc() incorrectly calculates the
length of server array in fs_location4--note that it is a count of the
number of array elements, not a length in bytes.
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Fixes: 082d4bd72a
(nfsd4: "backfill" using write_bytes_to_xdr_buf)
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
5a64e56976
commit
bf7491f1be
@ -1817,7 +1817,7 @@ static __be32 nfsd4_encode_components_esc(struct xdr_stream *xdr, char sep,
|
||||
|
||||
str = end;
|
||||
}
|
||||
pathlen = htonl(xdr->buf->len - pathlen_offset);
|
||||
pathlen = htonl(count);
|
||||
write_bytes_to_xdr_buf(xdr->buf, pathlen_offset, &pathlen, 4);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user