diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-04-22 09:27:47 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-04-22 09:27:47 +0900 |
commit | 99ce567ba912109c78762246c964327f3f81f27d (patch) | |
tree | 685265d60792c11d386db6c005ca8b8e714ecc23 /fs/ncpfs/ioctl.c | |
parent | 8fb2bae4b41eb64f6e233e9bd3f3a789fbb04a06 (diff) | |
parent | ccc5ff94c66e628d3c501b26ace5d4339667715d (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'fs/ncpfs/ioctl.c')
-rw-r--r-- | fs/ncpfs/ioctl.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/fs/ncpfs/ioctl.c b/fs/ncpfs/ioctl.c index f54360f50a9..fa038df63ac 100644 --- a/fs/ncpfs/ioctl.c +++ b/fs/ncpfs/ioctl.c @@ -660,13 +660,10 @@ outrel: if (user.object_name_len > NCP_OBJECT_NAME_MAX_LEN) return -ENOMEM; if (user.object_name_len) { - newname = kmalloc(user.object_name_len, GFP_USER); - if (!newname) - return -ENOMEM; - if (copy_from_user(newname, user.object_name, user.object_name_len)) { - kfree(newname); - return -EFAULT; - } + newname = memdup_user(user.object_name, + user.object_name_len); + if (IS_ERR(newname)) + return PTR_ERR(newname); } else { newname = NULL; } @@ -760,13 +757,9 @@ outrel: if (user.len > NCP_PRIVATE_DATA_MAX_LEN) return -ENOMEM; if (user.len) { - new = kmalloc(user.len, GFP_USER); - if (!new) - return -ENOMEM; - if (copy_from_user(new, user.data, user.len)) { - kfree(new); - return -EFAULT; - } + new = memdup_user(user.data, user.len); + if (IS_ERR(new)) + return PTR_ERR(new); } else { new = NULL; } |