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:33 +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 86573350350ee2d2ea00282b0b5ba64c2f6b348c..dd1afa38f2ae4759de1fb3feaa1e39a91bebde3d 100644 (file)
@@ -1809,6 +1809,9 @@ static __be32 nfsd4_encode_components_esc(char sep, char *components,
                }
                else
                        end++;
+               if (found_esc)
+                       end = next;
+
                str = end;
        }
        *pp = p;