diff options
| author | Anmin Hsu <anmin.hsu@mediatek.com> | 2015-10-02 00:51:52 +0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-05-11 17:14:28 +0200 |
| commit | 7c92892ae9029c331e2e3e5d0928ebb12f0dab5e (patch) | |
| tree | 1f553ffe925a614fcce54e4bf65197c50a6af9cc /drivers/misc | |
| parent | 6927972d84fcbbe301027927bde24698d9a5a745 (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/misc')
| -rw-r--r-- | drivers/misc/mediatek/aee/aed/aed-debug.c | 7 | ||||
| -rw-r--r-- | drivers/misc/mediatek/aee/aed/aed-main.c | 1 |
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; } |
