ecryptfs: string copy cleanup

Clean up overcomplicated string copy, which also gets rid of this
bogus warning:

fs/ecryptfs/main.c: In function 'ecryptfs_parse_options':
include/asm/arch/string_32.h:75: warning: array subscript is above array bounds

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Miklos Szeredi 2008-07-23 21:30:05 -07:00 committed by Linus Torvalds
parent 982363c97f
commit 8f2368095e

View file

@ -301,7 +301,6 @@ static int ecryptfs_parse_options(struct super_block *sb, char *options)
char *cipher_name_dst; char *cipher_name_dst;
char *cipher_name_src; char *cipher_name_src;
char *cipher_key_bytes_src; char *cipher_key_bytes_src;
int cipher_name_len;
if (!options) { if (!options) {
rc = -EINVAL; rc = -EINVAL;
@ -382,17 +381,12 @@ static int ecryptfs_parse_options(struct super_block *sb, char *options)
goto out; goto out;
} }
if (!cipher_name_set) { if (!cipher_name_set) {
cipher_name_len = strlen(ECRYPTFS_DEFAULT_CIPHER); int cipher_name_len = strlen(ECRYPTFS_DEFAULT_CIPHER);
if (unlikely(cipher_name_len
>= ECRYPTFS_MAX_CIPHER_NAME_SIZE)) { BUG_ON(cipher_name_len >= ECRYPTFS_MAX_CIPHER_NAME_SIZE);
rc = -EINVAL;
BUG(); strcpy(mount_crypt_stat->global_default_cipher_name,
goto out; ECRYPTFS_DEFAULT_CIPHER);
}
memcpy(mount_crypt_stat->global_default_cipher_name,
ECRYPTFS_DEFAULT_CIPHER, cipher_name_len);
mount_crypt_stat->global_default_cipher_name[cipher_name_len]
= '\0';
} }
if (!cipher_key_bytes_set) { if (!cipher_key_bytes_set) {
mount_crypt_stat->global_default_cipher_key_size = 0; mount_crypt_stat->global_default_cipher_key_size = 0;