]> git.itanic.dy.fi Git - linux-stable/commitdiff
nfsd4: fix xdr4 inclusion of escaped char
authorBenjamin Coddington <bcodding@redhat.com>
Sun, 7 Dec 2014 21:05:47 +0000 (16:05 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Jan 2015 14:59:53 +0000 (06:59 -0800)
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>
fs/nfsd/nfs4xdr.c

index eeea7a90eb873d6d4d8b606ddf2584a1c3a9f85c..6c92a53964fd0afe36f30727b21f28266e46991c 100644 (file)
@@ -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);