ext4: do not unnecessarily null-terminate encrypted symlink data
Null-terminating the fscrypt_symlink_data on read is unnecessary because it is not string data --- it contains binary ciphertext. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
e81d44778d
commit
cc91542ac8
|
@ -30,7 +30,6 @@ static const char *ext4_encrypted_get_link(struct dentry *dentry,
|
||||||
char *caddr, *paddr = NULL;
|
char *caddr, *paddr = NULL;
|
||||||
struct fscrypt_str cstr, pstr;
|
struct fscrypt_str cstr, pstr;
|
||||||
struct fscrypt_symlink_data *sd;
|
struct fscrypt_symlink_data *sd;
|
||||||
loff_t size = min_t(loff_t, i_size_read(inode), PAGE_SIZE - 1);
|
|
||||||
int res;
|
int res;
|
||||||
u32 max_size = inode->i_sb->s_blocksize;
|
u32 max_size = inode->i_sb->s_blocksize;
|
||||||
|
|
||||||
|
@ -49,7 +48,6 @@ static const char *ext4_encrypted_get_link(struct dentry *dentry,
|
||||||
if (IS_ERR(cpage))
|
if (IS_ERR(cpage))
|
||||||
return ERR_CAST(cpage);
|
return ERR_CAST(cpage);
|
||||||
caddr = page_address(cpage);
|
caddr = page_address(cpage);
|
||||||
caddr[size] = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Symlink is encrypted */
|
/* Symlink is encrypted */
|
||||||
|
|
Loading…
Reference in New Issue