diff options
author | 2010-03-20 11:24:15 +0000 | |
---|---|---|
committer | 2010-03-30 21:19:09 -0400 | |
commit | c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f (patch) | |
tree | acfc0f7c28305f2057e6eed88ffd8b34441ba2e1 | |
parent | Btrfs: dereferencing freed memory (diff) | |
download | linux-dev-c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f.tar.xz linux-dev-c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f.zip |
Btrfs: handle kmalloc() failure in inode lookup ioctl
Return -ENOMEM if kmalloc() fails.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r-- | fs/btrfs/ioctl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 874d36e5f167..74d89133f768 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -1211,6 +1211,9 @@ static noinline int btrfs_ioctl_ino_lookup(struct file *file, return -EPERM; args = kmalloc(sizeof(*args), GFP_KERNEL); + if (!args) + return -ENOMEM; + if (copy_from_user(args, argp, sizeof(*args))) { kfree(args); return -EFAULT; |