summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Coddington <bcodding@redhat.com>2014-12-07 16:05:47 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-01-16 06:59:53 -0800
commit6a4edf54d98ecbf60e7f257ab4379609caf5468e (patch)
tree7d3fce03e905489eb55d3953496c8a40bab99070
parentfb0a8557436a3710ed62ee3f88a708ff5e880e5e (diff)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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 eeea7a90eb87..6c92a53964fd 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -1795,6 +1795,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);