Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd9fc842 authored by Tyler Hicks's avatar Tyler Hicks Committed by Linus Torvalds
Browse files

eCryptfs: Regression in unencrypted filename symlinks



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: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent eeb94855
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
}