asus_acpi: fix a memory leak in asus_hotk_get_info()
authorAxel Lin <axel.lin@gmail.com>
Tue, 20 Jul 2010 22:19:41 +0000 (15:19 -0700)
committerMatthew Garrett <mjg@redhat.com>
Tue, 3 Aug 2010 13:48:58 +0000 (09:48 -0400)
In the case of no match ( hotk->model == END_MODEL ), model sholud be
kfreed before return AE_OK.

This patch includes below fixes:

1. adds a missing kfree(model) before return AE_OK.

2. asus_hotk_get_info should return int, thus return 0 instead of AE_OK.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Karol Kozimor <sziwan@users.sourceforge.net>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Len Brown <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/asus_acpi.c

index 92fd30c9379ce3eb2f6ab6bf4b6b7dbfb7dc5b9f..ae0914d4e02ea9df8ba2a59726e3bc430a66a1bb 100644 (file)
@@ -1340,7 +1340,8 @@ static int asus_hotk_get_info(void)
                        return -ENODEV;
                }
                hotk->methods = &model_conf[hotk->model];
-               return AE_OK;
+               kfree(model);
+               return 0;
        }
        hotk->methods = &model_conf[hotk->model];
        printk(KERN_NOTICE "  %s model detected, supported\n", string);
@@ -1374,7 +1375,7 @@ static int asus_hotk_get_info(void)
 
        kfree(model);
 
-       return AE_OK;
+       return 0;
 }
 
 static int asus_hotk_check(void)