summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorBenjamin Coddington <bcodding@redhat.com>2014-12-08 00:05:47 +0300
committerLuis Henriques <luis.henriques@canonical.com>2015-01-15 13:43:43 +0300
commitcd7d0a82cdceee2a1e15b5554d742ccc933a25c8 (patch)
tree4315676f81478bbf6f3a19d0c939bf0879fcbb69 /fs/nfsd
parent23ddb5e116f5d5ac6df87ecf80c91a0c6ed7b23c (diff)
downloadlinux-cd7d0a82cdceee2a1e15b5554d742ccc933a25c8.tar.xz
nfsd4: fix xdr4 inclusion of escaped char
commit 5a64e56976f1ba98743e1678c0029a98e9034c81 upstream. 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> Fixes: e7a0444aef4a "nfsd: add IPv6 addr escaping to fs_location hosts" Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4xdr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 96338175a2fe..69f15dc9e16b 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -1777,6 +1777,9 @@ static __be32 nfsd4_encode_components_esc(struct xdr_stream *xdr, char sep,
}
else
end++;
+ if (found_esc)
+ end = next;
+
str = end;
}
pathlen = htonl(xdr->buf->len - pathlen_offset);