diff options
author | Benjamin Coddington <bcodding@redhat.com> | 2014-12-07 16:05:47 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-12-09 15:51:30 -0500 |
commit | 5a64e56976f1ba98743e1678c0029a98e9034c81 (patch) | |
tree | c28873700fa8afcc9eaa5b56fb3d601163820d80 /fs/nfsd | |
parent | 1b2e122d167d8983775eb57d55349c331e6aa6c7 (diff) |
nfsd4: fix xdr4 inclusion of escaped char
Fix a bug where nfsd4_encode_components_esc() includes the esc_end char as
an additional string encoding.
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Cc: stable@vger.kernel.org
Fixes: e7a0444aef4a "nfsd: add IPv6 addr escaping to fs_location hosts"
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 8880ec8cfd11..a8549f8fef57 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
@@ -1812,6 +1812,9 @@ static __be32 nfsd4_encode_components_esc(struct xdr_stream *xdr, char sep, | |||
1812 | } | 1812 | } |
1813 | else | 1813 | else |
1814 | end++; | 1814 | end++; |
1815 | if (found_esc) | ||
1816 | end = next; | ||
1817 | |||
1815 | str = end; | 1818 | str = end; |
1816 | } | 1819 | } |
1817 | pathlen = htonl(xdr->buf->len - pathlen_offset); | 1820 | pathlen = htonl(xdr->buf->len - pathlen_offset); |