Re: [PATCH RESEND] ecryptfs: Replace memcpy + NUL termination in ecryptfs_new_file_context
From: Tyler Hicks
Date: Tue Dec 23 2025 - 15:28:42 EST
On 2025-12-19 22:32:33, Thorsten Blum wrote:
> Use strscpy() to copy the NUL-terminated '->global_default_cipher_name'
> to the destination buffer instead of using memcpy() followed by a manual
> NUL termination. Remove the now-unused local variable 'cipher_name_len'.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
Thanks for the cleanup!
Acked-by: Tyler Hicks <code@xxxxxxxxxxx>
Tyler
> ---
> fs/ecryptfs/crypto.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
> index 260f8a4938b0..5d9ec4a1e12d 100644
> --- a/fs/ecryptfs/crypto.c
> +++ b/fs/ecryptfs/crypto.c
> @@ -678,7 +678,6 @@ int ecryptfs_new_file_context(struct inode *ecryptfs_inode)
> struct ecryptfs_mount_crypt_stat *mount_crypt_stat =
> &ecryptfs_superblock_to_private(
> ecryptfs_inode->i_sb)->mount_crypt_stat;
> - int cipher_name_len;
> int rc = 0;
>
> ecryptfs_set_default_crypt_stat_vals(crypt_stat, mount_crypt_stat);
> @@ -692,12 +691,8 @@ int ecryptfs_new_file_context(struct inode *ecryptfs_inode)
> "to the inode key sigs; rc = [%d]\n", rc);
> goto out;
> }
> - cipher_name_len =
> - strlen(mount_crypt_stat->global_default_cipher_name);
> - memcpy(crypt_stat->cipher,
> - mount_crypt_stat->global_default_cipher_name,
> - cipher_name_len);
> - crypt_stat->cipher[cipher_name_len] = '\0';
> + strscpy(crypt_stat->cipher,
> + mount_crypt_stat->global_default_cipher_name);
> crypt_stat->key_size =
> mount_crypt_stat->global_default_cipher_key_size;
> ecryptfs_generate_new_key(crypt_stat);
> --
> Thorsten Blum <thorsten.blum@xxxxxxxxx>
> GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
>