diff options
| author | SaidiReddy Yenuga <c_saidir@qti.qualcomm.com> | 2016-07-14 17:32:59 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-07-21 16:44:18 +0530 |
| commit | fb7cf2e1ff1bd05f367352ecbe2d6c3bd7f6e35f (patch) | |
| tree | 4580dcc47a9ecf5b3e843f33f2af37f46c8757d5 | |
| parent | d13ec2d2d666891a82d2575ec5df09bc9bddf9f0 (diff) | |
qcacld-2.0: Add check to avoid adf_dp_trace_cb_table over read
The size of adf_dp_trace_cb_table array is 30, possible over
read of adf_dp_trace_cb_table array in adf_dp_add_record API.
Add index condition check for adf_dp_trace_cb_table to avoid
array over read.
CRs-Fixed: 1041684
Change-Id: I3b7d51071bc325da519959c321aa661cb342ffeb
| -rw-r--r-- | CORE/SERVICES/COMMON/adf/adf_trace.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/adf/adf_trace.c b/CORE/SERVICES/COMMON/adf/adf_trace.c index 7720aa6fdc2d..a9a8bf6c2b15 100644 --- a/CORE/SERVICES/COMMON/adf/adf_trace.c +++ b/CORE/SERVICES/COMMON/adf/adf_trace.c @@ -418,7 +418,8 @@ void adf_dp_add_record(enum ADF_DP_TRACE_ID code, rec->pid = (in_interrupt() ? 0 : current->pid); spin_unlock_bh(&l_dp_trace_lock); - if (g_adf_dp_trace_data.live_mode || print == true) + if ((g_adf_dp_trace_data.live_mode || print == true) && + (rec->code < ADF_DP_TRACE_MAX)) adf_dp_trace_cb_table[rec->code] (rec, index); } |
