diff options
author | Amit Nagal <helloin.amit@gmail.com> | 2011-09-07 13:48:47 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-09-07 13:48:47 +0200 |
commit | 1a8962317f494ad858971fc08ba035eff658a5c9 (patch) | |
tree | 67ef5b407e8fb04f99e05cb8af63fdeda4d4e803 | |
parent | HID: unlock on error path in hid_device_probe() (diff) | |
download | linux-1a8962317f494ad858971fc08ba035eff658a5c9.tar.xz linux-1a8962317f494ad858971fc08ba035eff658a5c9.zip |
HID: hidraw: free list for all error in hidraw_open
In function hidraw_open struct hidraw_list *list should be freed for
all error conditions.
Signed-off-by: Amit Nagal <helloin.amit@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hidraw.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c index c79578b5a788..c841a8e77339 100644 --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c @@ -259,7 +259,6 @@ static int hidraw_open(struct inode *inode, struct file *file) mutex_lock(&minors_lock); if (!hidraw_table[minor]) { - kfree(list); err = -ENODEV; goto out_unlock; } @@ -285,6 +284,8 @@ static int hidraw_open(struct inode *inode, struct file *file) out_unlock: mutex_unlock(&minors_lock); out: + if (err < 0) + kfree(list); return err; } |