]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfsd4: fix xdr4 inclusion of escaped char
authorBenjamin Coddington <bcodding@redhat.com>
Sun, 7 Dec 2014 21:05:47 +0000 (16:05 -0500)
committerLuis Henriques <luis.henriques@canonical.com>
Thu, 15 Jan 2015 10:43:43 +0000 (10:43 +0000)
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>
fs/nfsd/nfs4xdr.c

index 96338175a2fea62aa1a7ed266c98b7f7e7345bb6..69f15dc9e16bb9f110b6641618aea03bcb367201 100644 (file)
@@ -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);