summaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/asus_acpi.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-07-20 15:19:41 -0700
committerMatthew Garrett <mjg@redhat.com>2010-08-03 09:48:58 -0400
commitd47bb5b227f103f9bc0e572f478ac6b2a08fc2b2 (patch)
treea3843767a97bad39cfd47addff12300dd3c42009 /drivers/platform/x86/asus_acpi.c
parent80183a4b637982d56965e4a27b823c9a29d185b3 (diff)
downloadlinux-0-day-d47bb5b227f103f9bc0e572f478ac6b2a08fc2b2.tar.gz
linux-0-day-d47bb5b227f103f9bc0e572f478ac6b2a08fc2b2.tar.xz
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>
Diffstat (limited to 'drivers/platform/x86/asus_acpi.c')
-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 92fd30c9379ce..ae0914d4e02ea 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)