summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaidiReddy Yenuga <c_saidir@qti.qualcomm.com>2016-07-14 17:32:59 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-07-21 16:44:18 +0530
commitfb7cf2e1ff1bd05f367352ecbe2d6c3bd7f6e35f (patch)
tree4580dcc47a9ecf5b3e843f33f2af37f46c8757d5
parentd13ec2d2d666891a82d2575ec5df09bc9bddf9f0 (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.c3
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);
}