diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-06-28 01:10:01 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-06-28 01:12:22 -0700 |
commit | 1fcb8bb631831c9018a1f7f77b93f9f02e122fc5 (patch) | |
tree | 2512a9600b0bffc8477476e125baceff1643625e /drivers/input/misc/wistron_btns.c | |
parent | 671386bb23c57e5448f386a41101ed65ad1d488c (diff) |
Input: wistron_btns - fix a memory leak in wb_module_init error path
select_keymap() calls copy_keymap() to allocate a memory for keymap.
This patch adds a missing kfree(keymap) in wb_module_init error path.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/misc/wistron_btns.c')
-rw-r--r-- | drivers/input/misc/wistron_btns.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c index 4dac8b79fcd..12501de0c5c 100644 --- a/drivers/input/misc/wistron_btns.c +++ b/drivers/input/misc/wistron_btns.c @@ -1347,7 +1347,7 @@ static int __init wb_module_init(void) err = map_bios(); if (err) - return err; + goto err_free_keymap; err = platform_driver_register(&wistron_driver); if (err) @@ -1371,6 +1371,8 @@ static int __init wb_module_init(void) platform_driver_unregister(&wistron_driver); err_unmap_bios: unmap_bios(); + err_free_keymap: + kfree(keymap); return err; } |