From d47bb5b227f103f9bc0e572f478ac6b2a08fc2b2 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Tue, 20 Jul 2010 15:19:41 -0700 Subject: [PATCH] asus_acpi: fix a memory leak in asus_hotk_get_info() 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 Cc: Corentin Chary Cc: Karol Kozimor Cc: Matthew Garrett Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Matthew Garrett --- drivers/platform/x86/asus_acpi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/asus_acpi.c b/drivers/platform/x86/asus_acpi.c index 92fd30c9379c..ae0914d4e02e 100644 --- a/drivers/platform/x86/asus_acpi.c +++ b/drivers/platform/x86/asus_acpi.c @@ -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)