diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2024-10-17 11:03:56 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-12-05 14:02:26 +0100 |
| commit | f063b03b81f8c72876887553eb5b87efd722293d (patch) | |
| tree | 4b9479369fbe2d047b6a690fd7b926bf66403b09 /fs | |
| parent | 4a4ffc1aa9d618e41ad9151f40966e402e58a5a2 (diff) | |
| download | linux-f063b03b81f8c72876887553eb5b87efd722293d.tar.gz linux-f063b03b81f8c72876887553eb5b87efd722293d.tar.bz2 linux-f063b03b81f8c72876887553eb5b87efd722293d.zip | |
NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
[ Upstream commit f64ea4af43161bb86ffc77e6aeb5bcf5c3229df0 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/nfsd/nfs4recover.c | 3 |
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); |
