summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/ecryptfs/crypto.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index c2ec043857f2..978d151e892f 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -1418,21 +1418,11 @@ out:
static int ecryptfs_copy_filename(char **copied_name, size_t *copied_name_size,
const char *name, size_t name_size)
{
- int rc = 0;
-
- (*copied_name) = kmalloc((name_size + 1), GFP_KERNEL);
- if (!(*copied_name)) {
- rc = -ENOMEM;
- goto out;
- }
- memcpy((void *)(*copied_name), (void *)name, name_size);
- (*copied_name)[(name_size)] = '\0'; /* Only for convenience
- * in printing out the
- * string in debug
- * messages */
+ (*copied_name) = kmemdup_nul(name, name_size, GFP_KERNEL);
+ if (!(*copied_name))
+ return -ENOMEM;
(*copied_name_size) = name_size;
-out:
- return rc;
+ return 0;
}
/**