diff options
author | J. Bruce Fields <bfields@redhat.com> | 2014-06-20 11:52:21 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-07-08 17:14:23 -0400 |
commit | 52ee04330f585d1b5bc40442f07df07248fa3aee (patch) | |
tree | 6a176680872e4bc505cdf410645afe9252ad2619 /fs/nfsd/nfsproc.c | |
parent | 0aeae33f5d5fbd4af775e7c84795db9254d4a165 (diff) |
nfsd: let nfsd_symlink assume null-terminated data
Currently nfsd_symlink has a weird hack to serve callers who don't
null-terminate symlink data: it looks ahead at the next byte to see if
it's zero, and copies it to a new buffer to null-terminate if not.
That means callers don't have to null-terminate, but they *do* have to
ensure that the byte following the end of the data is theirs to read.
That's a bit subtle, and the NFSv4 code actually got this wrong.
So let's just throw out that code and let callers pass null-terminated
strings; we've already fixed them to do that.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfsproc.c')
-rw-r--r-- | fs/nfsd/nfsproc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index aebe23c45cbe..583ed03877e4 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c | |||
@@ -409,7 +409,7 @@ nfsd_proc_symlink(struct svc_rqst *rqstp, struct nfsd_symlinkargs *argp, | |||
409 | */ | 409 | */ |
410 | argp->tname[argp->tlen] = '\0'; | 410 | argp->tname[argp->tlen] = '\0'; |
411 | nfserr = nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen, | 411 | nfserr = nfsd_symlink(rqstp, &argp->ffh, argp->fname, argp->flen, |
412 | argp->tname, argp->tlen, | 412 | argp->tname, |
413 | &newfh, &argp->attrs); | 413 | &newfh, &argp->attrs); |
414 | 414 | ||
415 | 415 | ||