lkml.org 
[lkml]   [2009]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] eCryptfs: Regression in unencrypted filename symlinks
From
Date
On Fri, 2009-02-06 at 18:06 -0600, Tyler Hicks wrote:
> The addition of filename encryption caused a regression in unencrypted
> filename symlink support. ecryptfs_copy_filename() is used when dealing
> with unencrypted filenames and it reported that the new, copied filename
> was a character longer than it should have been.
>
> This caused the return value of readlink() to count the NULL byte of the
> symlink target. Most applications don't care about the extra NULL byte,
> but a version control system (bzr) helped in discovering the bug.
>
> Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>

Acked-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>

> ---
> fs/ecryptfs/crypto.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
> index c01e043..f6caeb1 100644
> --- a/fs/ecryptfs/crypto.c
> +++ b/fs/ecryptfs/crypto.c
> @@ -1716,7 +1716,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
> {
> int rc = 0;
>
> - (*copied_name) = kmalloc((name_size + 2), GFP_KERNEL);
> + (*copied_name) = kmalloc((name_size + 1), GFP_KERNEL);
> if (!(*copied_name)) {
> rc = -ENOMEM;
> goto out;
> @@ -1726,7 +1726,7 @@ static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
> * in printing out the
> * string in debug
> * messages */
> - (*copied_name_size) = (name_size + 1);
> + (*copied_name_size) = name_size;
> out:
> return rc;
> }
--
David Kleikamp
IBM Linux Technology Center



\
 
 \ /
  Last update: 2009-02-07 17:11    [W:0.036 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site