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