diff options
| -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; } |
