diff options
| -rw-r--r-- | core/wma/src/wma_utils.c | 11 |
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); |
