]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
authorChuck Lever <chuck.lever@oracle.com>
Thu, 17 Oct 2024 15:03:56 +0000 (11:03 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 19 Nov 2024 01:23:02 +0000 (20:23 -0500)
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>
fs/nfsd/nfs4recover.c

index b7d61eb8afe9e10d94b614ae50c2790fe6816732..4a765555bf8459084c431eac4293babb8a8fbfcf 100644 (file)
@@ -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);