Input: wistron_btns - fix a memory leak in wb_module_init error path
authorAxel Lin <axel.lin@gmail.com>
Mon, 28 Jun 2010 08:10:01 +0000 (01:10 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 28 Jun 2010 08:12:22 +0000 (01:12 -0700)
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>
drivers/input/misc/wistron_btns.c

index 4dac8b79fcd4fc50ad1908ce3ae368cdd56085ed..12501de0c5cd36bbcc425abd84f0276607d5cbf9 100644 (file)
@@ -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;
 }