summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohit Aggarwal <maggarwa@codeaurora.org>2016-03-18 13:12:13 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-25 16:04:16 -0700
commit75fa84afc517e6a50d9e6448cffac992b0c8612e (patch)
treeffa3eb4eb7c9753bce245ae88ec24b76bc13249f
parent6d420d7018771cf5e7d2c459d4f878f3cd276d11 (diff)
diag: dci: Fix possible memory leak
Currently, whenever new dci client registers, diag allocates memory from kernel and free it during de-initialization. For one of the buffer, it is not freeing the memory which will lead to memory leak. This patch takes care of possible memory leak. Change-Id: Ie50b4a549c249375f93962a5b6b20d614943f1aa Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
-rw-r--r--drivers/char/diag/diag_dci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/diag/diag_dci.c b/drivers/char/diag/diag_dci.c
index bccf1c71e3d4..cb68039df1ec 100644
--- a/drivers/char/diag/diag_dci.c
+++ b/drivers/char/diag/diag_dci.c
@@ -2798,8 +2798,9 @@ fail_alloc:
}
kfree(new_entry->dci_event_mask);
kfree(new_entry->dci_log_mask);
+ kfree(new_entry->buffers);
+ kfree(new_entry);
}
- kfree(new_entry);
mutex_unlock(&driver->dci_mutex);
return DIAG_DCI_NO_REG;
}
@@ -2917,6 +2918,7 @@ int diag_dci_deinit_client(struct diag_dci_client_tbl *entry)
}
mutex_destroy(&entry->write_buf_mutex);
+ kfree(entry->buffers);
kfree(entry);
if (driver->num_dci_client == 0) {