summaryrefslogtreecommitdiffstats
path: root/drivers/input/misc/wistron_btns.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-06-28 01:10:01 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-06-28 01:12:22 -0700
commit1fcb8bb631831c9018a1f7f77b93f9f02e122fc5 (patch)
tree2512a9600b0bffc8477476e125baceff1643625e /drivers/input/misc/wistron_btns.c
parent671386bb23c57e5448f386a41101ed65ad1d488c (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.c4
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;
}