aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAnmin Hsu <anmin.hsu@mediatek.com>2015-10-02 00:51:52 +0800
committerMister Oyster <oysterized@gmail.com>2017-05-11 17:14:28 +0200
commit7c92892ae9029c331e2e3e5d0928ebb12f0dab5e (patch)
tree1f553ffe925a614fcce54e4bf65197c50a6af9cc /drivers
parent6927972d84fcbbe301027927bde24698d9a5a745 (diff)
AEE: fix code defects.
[Detail] defects found out by Coverity: memroy leak risk. related files:aee kernel driver aed-debug.c & aed-main.c [Solution] fix the defects with kfree(). [Feature] Android Exception Engine(AEE) MTK-Commit-Id: 3c664402362bd16414b09e9050b91f45849b6a3f Change-Id: Ib4a67f16d5552a5c5c1096eedef1e8b4ef8faece Signed-off-by: Zhiyong Wang <zhiyong.wang@mediatek.com> CR-Id: ALPS02319644
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/mediatek/aee/aed/aed-debug.c7
-rw-r--r--drivers/misc/mediatek/aee/aed/aed-main.c1
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/misc/mediatek/aee/aed/aed-debug.c b/drivers/misc/mediatek/aee/aed/aed-debug.c
index cb150b7de..cdb683487 100644
--- a/drivers/misc/mediatek/aee/aed/aed-debug.c
+++ b/drivers/misc/mediatek/aee/aed/aed-debug.c
@@ -437,11 +437,16 @@ static ssize_t proc_generate_ee_read(struct file *file,
if ((*ppos)++)
return 0;
ptr = kmalloc(TEST_EE_PHY_SIZE, GFP_KERNEL);
- log = kmalloc(TEST_EE_LOG_SIZE, GFP_KERNEL);
if (ptr == NULL) {
LOGE("proc_generate_ee_read kmalloc fail\n");
return sprintf(buffer, "kmalloc fail\n");
}
+ log = kmalloc(TEST_EE_LOG_SIZE, GFP_KERNEL);
+ if (log == NULL) {
+ LOGE("proc_generate_ee_read kmalloc fail\n");
+ kfree(ptr);
+ return sprintf(buffer, "kmalloc fail\n");
+ }
for (i = 0; i < TEST_EE_PHY_SIZE; i++) {
ptr[i] = (i % 26) + 'A';
}
diff --git a/drivers/misc/mediatek/aee/aed/aed-main.c b/drivers/misc/mediatek/aee/aed/aed-main.c
index bfd366242..cd8128225 100644
--- a/drivers/misc/mediatek/aee/aed/aed-main.c
+++ b/drivers/misc/mediatek/aee/aed/aed-main.c
@@ -1840,6 +1840,7 @@ static void external_exception(const char *assert_type, const int *log, int log_
if (NULL == ee_log) {
LOGE("%s : memory alloc() fail\n", __func__);
+ kfree(eerec);
return;
}