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>
diff --git a/drivers/platform/x86/asus_acpi.c b/drivers/platform/x86/asus_acpi.c
index 92fd30c..ae0914d 100644
--- a/drivers/platform/x86/asus_acpi.c
+++ b/drivers/platform/x86/asus_acpi.c
@@ -1340,7 +1340,8 @@
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 @@
kfree(model);
- return AE_OK;
+ return 0;
}
static int asus_hotk_check(void)