summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/wma/src/wma_utils.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c
index 0c5b51268040..0efa68ebe696 100644
--- a/core/wma/src/wma_utils.c
+++ b/core/wma/src/wma_utils.c
@@ -1526,8 +1526,8 @@ static int wma_unified_radio_tx_power_level_stats_event_handler(void *handle,
return -EINVAL;
}
- if (fixed_param->radio_id > link_stats_results->num_radio) {
- WMA_LOGD("%s: Invalid radio_id %d num_radio %d",
+ if (fixed_param->radio_id >= link_stats_results->num_radio) {
+ WMA_LOGE("%s: Invalid radio_id %d num_radio %d",
__func__, fixed_param->radio_id,
link_stats_results->num_radio);
return -EINVAL;
@@ -1692,6 +1692,13 @@ static int wma_unified_link_radio_stats_event_handler(void *handle,
link_stats_results_size = sizeof(*link_stats_results) +
fixed_param->num_radio * radio_stats_size;
+ if (radio_stats->radio_id >= fixed_param->num_radio) {
+ WMA_LOGE("%s: Invalid radio_id %d num_radio %d",
+ __func__, radio_stats->radio_id,
+ fixed_param->num_radio);
+ return -EINVAL;
+ }
+
if (!wma_handle->link_stats_results) {
wma_handle->link_stats_results = qdf_mem_malloc(
link_stats_results_size);