Эх сурвалжийг харах

nfsd4: fix xdr4 inclusion of escaped char

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>
Cc: stable@vger.kernel.org
Fixes: e7a0444aef4a "nfsd: add IPv6 addr escaping to fs_location hosts"
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Benjamin Coddington 10 жил өмнө
parent
commit
5a64e56976

+ 3 - 0
fs/nfsd/nfs4xdr.c

@@ -1812,6 +1812,9 @@ static __be32 nfsd4_encode_components_esc(struct xdr_stream *xdr, char sep,
 		}
 		}
 		else
 		else
 			end++;
 			end++;
+		if (found_esc)
+			end = next;
+
 		str = end;
 		str = end;
 	}
 	}
 	pathlen = htonl(xdr->buf->len - pathlen_offset);
 	pathlen = htonl(xdr->buf->len - pathlen_offset);