aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-07-20 18:19:41 -0400
committerMatthew Garrett <mjg@redhat.com>2010-08-03 09:48:58 -0400
commitd47bb5b227f103f9bc0e572f478ac6b2a08fc2b2 (patch)
treea3843767a97bad39cfd47addff12300dd3c42009
parent80183a4b637982d56965e4a27b823c9a29d185b3 (diff)
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 <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>
-rw-r--r--drivers/platform/x86/asus_acpi.c5
1 files 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)
1340 return -ENODEV; 1340 return -ENODEV;
1341 } 1341 }
1342 hotk->methods = &model_conf[hotk->model]; 1342 hotk->methods = &model_conf[hotk->model];
1343 return AE_OK; 1343 kfree(model);
1344 return 0;
1344 } 1345 }
1345 hotk->methods = &model_conf[hotk->model]; 1346 hotk->methods = &model_conf[hotk->model];
1346 printk(KERN_NOTICE " %s model detected, supported\n", string); 1347 printk(KERN_NOTICE " %s model detected, supported\n", string);
@@ -1374,7 +1375,7 @@ static int asus_hotk_get_info(void)
1374 1375
1375 kfree(model); 1376 kfree(model);
1376 1377
1377 return AE_OK; 1378 return 0;
1378} 1379}
1379 1380
1380static int asus_hotk_check(void) 1381static int asus_hotk_check(void)