summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2024-10-17 11:03:56 -0400
committerChuck Lever <chuck.lever@oracle.com>2024-11-18 20:23:02 -0500
commitf64ea4af43161bb86ffc77e6aeb5bcf5c3229df0 (patch)
tree1b194f01398262050f7644a460dea9434aacc16a /fs/nfsd
parent30c1d2411acd6d9d987f5f804aa173abb3b097ce (diff)
downloadlwn-f64ea4af43161bb86ffc77e6aeb5bcf5c3229df0.tar.gz
lwn-f64ea4af43161bb86ffc77e6aeb5bcf5c3229df0.zip
NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
It's only current caller already length-checks the string, but let's be safe. Fixes: 0964a3d3f1aa ("[PATCH] knfsd: nfsd4 reboot dirname fix") Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4recover.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index b7d61eb8afe9..4a765555bf84 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -659,7 +659,8 @@ nfs4_reset_recoverydir(char *recdir)
return status;
status = -ENOTDIR;
if (d_is_dir(path.dentry)) {
- strcpy(user_recovery_dirname, recdir);
+ strscpy(user_recovery_dirname, recdir,
+ sizeof(user_recovery_dirname));
status = 0;
}
path_put(&path);